baldurk
92e04417d5
Add support for storage image load/store
2020-04-23 19:14:09 +01:00
baldurk
97665b2c30
Display resources in shader viewer tooltips properly
2020-04-23 19:14:09 +01:00
baldurk
9b9a7abb47
Don't cache PS inputs pipeline that varies often
2020-04-23 19:14:09 +01:00
baldurk
914268333d
Ensure pipeline cache data actually reaches the driver
2020-04-23 19:14:09 +01:00
baldurk
18713f644e
Implement OpImageQueryLod by faking derivatives on sample quad
2020-04-23 19:14:09 +01:00
baldurk
0a78a65ec2
Add explicit handling for all remaining unimplemented opcodes
...
* Some will have to be supported because they're not optional, some more are
planned but are currently behind unsupported capabilities, and some are
extensions that will probably never be implemented.
2020-04-23 19:14:08 +01:00
baldurk
76b21f7d8c
Check that SPIR-V version and extensions are supported before tracing
2020-04-23 19:14:08 +01:00
baldurk
2efb2e67f1
Add dummy (for now) implementations of OpUConvert/OpSConvert
2020-04-23 19:14:08 +01:00
baldurk
31593f4373
Support SPIR-V 1.4 pointer comparison opcodes
2020-04-23 19:14:08 +01:00
baldurk
3470079472
Implement OpQuantizeToF16
2020-04-23 19:14:08 +01:00
baldurk
925b177bad
Support Proj sampling variants with manual q divide
2020-04-23 19:14:08 +01:00
baldurk
f506dcf395
Add support for storage buffer access
2020-04-23 19:14:08 +01:00
baldurk
0d1e0af9b1
Make sure all ShaderVariable values are initialised to 0
2020-04-23 19:14:08 +01:00
baldurk
aae3a75f6e
Add newly added variables to start of variables list
...
* But all variables added in a single step still remain in the order they're
reported in as changes.
2020-04-23 19:14:08 +01:00
baldurk
e90461c065
Fix incorrect check in DumpObject helper
2020-04-23 19:14:08 +01:00
Aliya Pazylbekova
f63dd71221
Vulkan Pixel History: secondary command buffers
...
Also:
- support for choosing mip level and slice
- tests for secondary command buffers
- adds a callback around vkCmdExecuteCommands
- refactors pixel history occlusion callback into its own
callback. Allows processing fewer events later on, and getting colour
information separately.
- keep track of subpassContents for vkCmdBeginRenderPass (inline or
secondary)
2020-04-23 19:13:42 +01:00
baldurk
dfb2b2c025
Avoid using the non-array ShaderValue accessors
...
* These don't have 64-bit or 16-bit equivalents so will be harder to fix later
when adding support for those bit widths
2020-04-22 20:40:15 +01:00
baldurk
222f28d953
Add support for glsl pack/unpack functions
2020-04-22 20:40:14 +01:00
baldurk
5e67f3d6b5
Support shader debugging and KHR_buffer_device_address without int64
2020-04-22 20:40:14 +01:00
baldurk
37c114b75e
Avoid device-local memory for upload allocations. Closes #1816
...
* Although device-local memory would be faster for the allocations we need it
for, it's also a limited resource and we may run out of memory trying to hold
both the capture's allocations and our own. Only allocations that *must* be in
device-local memory should be placed there.
2020-04-22 20:40:14 +01:00
baldurk
4e2cfa18b5
Add debug config option to do verbose logging of shader debugging
2020-04-22 20:40:14 +01:00
baldurk
621b9dfd1e
Move some shader debug pipeline parameters out of spec constants
...
* While convenient, passing uv parameters that will probably be different every
time via spec constants is not the best idea and will lead to many redundant
pipelines. Instead we keep things that must be constant as spec constants as
well as a few rarely varying things (texture dimension, operation) while
moving more varying things to uniforms passed in a constant buffer.
* This means we require the imageGatherExtended feature to promote constant
offsets to dynamic offsets, but this is a reasonable requirement.
2020-04-22 20:40:14 +01:00
baldurk
f2e9447954
Compress shader cache blobs with zstd
2020-04-22 20:40:14 +01:00
baldurk
ed799cb1e3
Serialise pipeline cache in vkshaders.cache
2020-04-22 20:40:14 +01:00
baldurk
e034defb0e
Add debug option to log verbosely on android process launch
2020-04-22 14:24:21 +01:00
baldurk
b35de95602
Fix python3 warning about use of 'is not' for literal comparison
2020-04-22 14:02:19 +01:00
baldurk
9b0ac380f4
Record the total number of pixels run
...
* This can be useful for diagnostics - we expect this to be non-zero in most
cases.
2020-04-22 10:39:20 +01:00
baldurk
6a6c86139b
Don't test mod/rem operations with negative operands
...
* This is undefined in vulkan
2020-04-21 19:14:41 +01:00
baldurk
e3d2852080
Add test of large query pools on vulkan
2020-04-21 17:09:33 +01:00
baldurk
3ef67d6647
Test passing NULL in object names/labels
2020-04-21 17:09:33 +01:00
baldurk
9accb4033b
Test push constant range that applies to vertex and fragment stages
2020-04-21 17:09:33 +01:00
baldurk
660d696b58
Test that dirty pipelines can still be shader-edited properly
2020-04-21 17:09:33 +01:00
baldurk
66a9e00f3e
Don't serialise D3D12_STREAM_OUTPUT_DESC.pBufferStrides if NumEntries==0
...
* This is true even if NumStrides is a high number, it's entirely ignored.
2020-04-21 17:09:33 +01:00
baldurk
c6f43e81bf
If no valid display has been fetched on linux, return no input supported
2020-04-21 17:09:33 +01:00
baldurk
f57709366a
Truncate resource names that are unreasonably long. Closes #1832
2020-04-21 17:09:33 +01:00
baldurk
75da714a85
Avoid asserts when copying buffers
2020-04-21 17:09:32 +01:00
baldurk
068f4998c7
Fix buffer viewer export to handle pagination. Closes #1837
2020-04-21 17:09:32 +01:00
baldurk
86c5c70a13
Fix packed format (uintten/unormten) use in the buffer viewer
2020-04-21 17:09:32 +01:00
baldurk
a3dc3dde2b
Use mesh property format when displaying secondary data in buffer view
2020-04-21 17:09:32 +01:00
baldurk
8ee6e43ed6
Check that we can render secondary mesh data with only two components
...
* We need to be sure that we don't accidentally read RGB anyway.
2020-04-21 17:09:24 +01:00
baldurk
6042c500bc
Ensure we don't read out of bounds displaying meshes on vulkan
...
* The whole stride of a vertex binding must be in bounds for any attributes in
it to be in bounds, so we adjust the attribute offset to put padding at the
start of the strided segment wherever possible.
2020-04-21 12:22:42 +01:00
baldurk
e216fa7e12
Print which physical device is used to create the device on replay
2020-04-20 16:52:12 +01:00
baldurk
0b8ab2f0e9
Fix Dref opcode fetching which should output scalar types
2020-04-20 16:51:58 +01:00
baldurk
aeb750af42
Don't read D3D12_STREAM_OUTPUT_DESC::NumStrides if NumEntries is 0
2020-04-20 16:51:05 +01:00
baldurk
207852bb15
Disable linked shaderc as vulkan SDK copy now links /MTD
...
* We'll probably want to add support for optionally compiling in a linked
shaderc that we build ourselves now.
2020-04-20 13:25:02 +01:00
baldurk
6aec92840f
Integrate RGA 2.3.1 and add support for Navi 14
2020-04-20 13:24:28 +01:00
baldurk
c572ad2ed8
Fix HLSL edit stub generation with system values
2020-04-20 12:00:37 +01:00
baldurk
d15b0a3c3a
Default initialise TextureSwizzle4 with RGBA swizzle
2020-04-20 11:14:03 +01:00
baldurk
f2d69e9f9e
Fix handling of ResourceMinLODClamp for cubemap textures on D3D12
2020-04-20 11:05:40 +01:00
baldurk
058f437974
Use the correct VarType when creating resource source mappings
2020-04-20 11:05:25 +01:00