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
baldurk
f5b555dc1c
Fix intel vulkan driver version decoding on windows
2020-04-20 10:53:13 +01:00
baldurk
f3a413149a
Fix TextureSwizzle conversion helper function
2020-04-17 18:30:56 +01:00
baldurk
91de355955
Add a helper to dump objects with dir() and bypass swig's repr
2020-04-17 17:32:57 +01:00
baldurk
2980742a3a
Add wrapper struct TextureSwizzle4 to be more swig-friendly
...
* Swig doesn't like having fixed C arrays of enums, so wrap it in a struct to
make it more clear.
2020-04-17 16:53:54 +01:00
baldurk
1ec3320e99
Don't bounds check instruction numbers against disassembly line count
2020-04-17 16:52:35 +01:00
baldurk
67edb36efc
Make sure shader step always lands on a valid non-ignored instruction
...
* We want to always skip any ignored instructions (like OpLine etc) before
returning a step, so that the next time we start a step it's always on a valid
instruction.
2020-04-17 16:32:04 +01:00
baldurk
e16bed7fa2
Fix wrong structure stride being used fetching hits in pixel debug
2020-04-17 16:31:15 +01:00
baldurk
83c7350e4a
Implement remaining image sampling operations
2020-04-16 18:42:03 +01:00
baldurk
143f2bf054
Fix access to texel buffers
2020-04-16 18:41:59 +01:00
baldurk
7082f4eb44
Implement image dimension query opcodes
2020-04-16 18:41:59 +01:00
baldurk
9d5d9fa0bb
Default to lod 0 if lod parameter is missing
2020-04-16 18:41:58 +01:00
baldurk
831ffbf226
Add different OpCopy* opcodes
2020-04-16 18:41:58 +01:00
baldurk
f2cb1ddc53
Implement remaining bit twiddling operations
2020-04-16 18:41:58 +01:00
baldurk
a725a4e278
Add support for extended int math functions (with borrow/carry/overflow)
2020-04-16 18:41:58 +01:00
baldurk
60258bd57b
Implement private variable storage
2020-04-16 18:41:58 +01:00
baldurk
2556614eb5
We support 3 parameter math ops on the GPU
2020-04-16 18:41:58 +01:00