Cam Mannett
96c2cf0774
Add VK_EXT_dynamic_rendering_unused_attachments support
2025-06-19 12:22:30 +01:00
thisisjimmyfb
b79d1e6fe2
Android swapchain format selection prefer to use srgb format
...
Android to use similar swapchain format and dimension as Windows
2025-06-19 11:45:04 +01:00
thisisjimmyfb
29207a7333
Fix VK_Leak_Check for Android
...
RemoteServer timedout due to VK_Leak_Check taking too long before sending commands to remote server. Spawning a worker thread to keeping the remote server connection alive fixes the disconnection issue.
2025-06-19 11:45:04 +01:00
thisisjimmyfb
97c74415f6
VK_Large_Descriptor_Sets
...
Use remote server friendly routine to check capture file
2025-06-19 11:45:04 +01:00
thisisjimmyfb
035fc9974d
Remote Android and Linux test support part 2
...
Support swapchain image size greater than 4
2025-06-19 11:45:04 +01:00
thisisjimmyfb
b1d3123583
Remote Android and Linux test support part 1
...
Add remote server support to test framework
2025-06-19 11:45:04 +01:00
baldurk
500061011d
Ensure raw groupshared access is always byte-addressed
2025-06-16 17:29:52 +01:00
Jake Turner
e4d027a79c
D3D12 ShaderDebugger reset the debug allocator after submits
...
Performance win for shader debugger for ops run on the GPU (math, sample)
Fixes GPU errors if the shader debugger does a very large amount of GPU ops
2025-06-16 12:41:15 +01:00
baldurk
1ca3f25850
Fix unextended pipeline flags being put on wrong struct
2025-06-12 10:22:37 +01:00
baldurk
6337c23958
Fix validation error querying vkCreateDevice from GDPA
2025-06-12 10:22:37 +01:00
baldurk
d8241fdca9
Add names to internal sampler objects
2025-06-12 10:22:30 +01:00
Nicolas Morales
9323872925
#3623 : ensure data.egl_cfg is set in eglSwapBuffers_renderdoc_hooked
2025-06-09 11:41:16 +01:00
baldurk
9bad0c5ec0
Remove some memset calls on non-POD types
2025-06-06 12:16:54 +01:00
baldurk
f9eb25494e
Ignore pointless warning on clang. Closes #3621
2025-06-06 12:16:54 +01:00
baldurk
81d5ca7c35
Add a trie lookup handler from a byte sequence key
...
* This is intended for write-only so does not support removing keys at all.
2025-06-06 12:16:54 +01:00
baldurk
93617f3d11
Adjust shader viewer highlight colours for dark theme
2025-06-05 17:11:45 +01:00
baldurk
b49fe5aa8d
Update CI image to windows-2025
...
* This requires custom-installing the V140 toolset which unfortunately takes a
long time on CI :(.
* We also drop the VS2019 target as it has little use.
2025-06-03 17:49:49 +01:00
baldurk
18cb138aa3
Do not allow error reports on fatal error from dev/unoffiical builds
2025-06-03 14:20:33 +01:00
baldurk
95975e29a2
Remove display step from action
2025-05-30 11:21:16 +01:00
baldurk
093630ecb7
Try to override custom shader legacy redeclarations. Closes #3616
...
* When patching shaders for separability we are limited in what we can safely
do. If we need to add a separable declaration but a shader uses legacy GLSL
and redeclares an individual global these can't co-exist, so we try to remove
the incompatible one. This may not be safe but is a best-effort.
2025-05-30 11:06:32 +01:00
baldurk
3aaf08c903
Add workflow for inactivity lock
2025-05-30 11:05:10 +01:00
baldurk
6111affe33
Update to latest vulkan headers
...
* VK_KHR_robustness2 is supported as a trivial promotion
2025-05-26 21:44:24 +01:00
baldurk
cafa6acc64
Update to latest SPIR-V core grammar
2025-05-26 16:52:28 +01:00
baldurk
435956cf4d
Format VK_WHOLE_SIZE properly on texel buffers in pipeline state
2025-05-26 15:00:00 +01:00
baldurk
d7236e0d91
Fix reads & writes to storage texel buffers in vulkan shader debugging
2025-05-26 14:59:46 +01:00
baldurk
58a9f3cce1
Tweak naming of images particularly storage images in SPIR-V disasm
2025-05-26 13:21:34 +01:00
baldurk
6263c7100c
Avoid problems with windows 11 hotpatch DLLs not behaving properly
2025-05-26 13:18:49 +01:00
baldurk
e070de60ad
Improve disassembly of SPIR-V where a function's last block isn't return
...
* In this case the last block in the function was part of a loop continuing, and
the merge return block was inside the loop.
2025-05-26 10:56:54 +01:00
Jake Turner
d4c1919a9c
Fix assert check on format number of components for AtomicBinOp on UAV
...
Tweak error message about AtomicBinOp storing to out of bounds or unbound resource
2025-05-22 14:01:14 +01:00
Jake Turner
f79b95c8db
Update active thread DXIL global pointers to the local backing memory
2025-05-22 12:12:09 +01:00
Jake Turner
1881b26fef
Test for DXIL constant global pointers
2025-05-22 12:12:09 +01:00
Jake Turner
f152c2b585
Fix incorrect assert in DXBC debugger GetGroupsharedSrc
2025-05-22 11:56:36 +01:00
baldurk
42e1ecef5f
Ensure unformatted internal details aren't displayed for RT calls
2025-05-21 22:41:49 +01:00
baldurk
367ec41fa2
Reset D3D11 offset/counts to default if NULL is passed. Closes #3614
...
* These make the 1 bind functions behave like the normal bind functions
2025-05-19 22:08:11 +01:00
Jake Turner
962c1cdcf6
Enable Python shader trace validation by default
2025-05-19 16:57:22 +01:00
Jake Turner
4539ff5c43
DXIL Debugger GroupShared simulation changes
...
On the active thread
* GSM reads come from the local GSM cache (not the global GSM data)
* GSM writes go to the local GSM cache and the global GSM data
* Workgroup Memory barrier populates the local GSM cache with the data from the global GSM data
On the non-active threads:
* GSM reads/write always operate on the global GSM data
* Workgroup Memory barrier is ignored
2025-05-19 16:56:03 +01:00
Jake Turner
9523f98b8a
Python implementation of ShaderDebugTrace validation
...
Similar to the validation that is performed in ShaderViewer UI
Disabled by default pass True to process_trace to enable the validation
Includes validate_shadervariable() and shadervariable_equal()
2025-05-19 16:44:45 +01:00
Jake Turner
f120f46b45
ShaderViewer UI validation for ShaderVariable construction
...
if members.size() == 0
rows * columns must be between 1 and 15
type must not be Struct
if members.size() > 0
type must be Struct or Unknown or ConstantBlock
rows must be 0
columns must be 0
then recurse and check construction of each element of members array
2025-05-19 16:44:25 +01:00
Jake Turner
fe53dd874e
Ignore void return values in the SPIRV debugger
...
Do not call SetDst() which won't create a ShaderVariableChange
Would also prevent a non-null return value being used for the next void return function
2025-05-19 16:42:38 +01:00
Jake Turner
8133364057
Update DXIL constant buffer ShaderVariable columns count
2025-05-19 16:41:34 +01:00
Jake Turner
04e476d54a
Simplify DXIL Disassembly for global variable pointers
...
Unify the name generation with the DXIL debugger name generation
2025-05-19 16:41:20 +01:00
Jake Turner
4a50e28a78
Spirv debug set rows = 0, columns = 0 for helper Struct ShaderVariable's
2025-05-19 16:40:55 +01:00
Jake Turner
890f80b6d8
Set DXIL arrays to type Unknown
2025-05-19 16:40:36 +01:00
Jake Turner
f457a5194e
Fixups to make DXIL Debugger ShaderVariables correctly formed
2025-05-19 16:40:22 +01:00
Jake Turner
915339042e
Set DXBC GSM and Temp registers to have rows = 0 and columns = 0
2025-05-19 16:39:41 +01:00
Jake Turner
f8b25203dc
Fix D3D12 Pixel History ExecuteIndirect with multiple draws
...
Update m_IndirectData.argsOffset inside the loop
Clear the m_IndirectData outside of the loop
Add not NULL assert for argsBuffer in ReplayDraw() helper
2025-05-19 15:41:45 +01:00
Jake Turner
be6cc2d324
Verify pixel history succeeds as part of D3D12_Execute_Indirect tests
2025-05-18 12:52:56 +01:00
Jake Turner
66aabcaba3
Set the correct type for DXIL constant buffer array ShaderVariables
...
Change the name of constant buffer array elements to match access to match SRV and UAV naming i.e. cbvArray[3] instead of cbvArray_3_0
2025-05-18 09:25:44 +01:00
Jake Turner
72ff41656f
Fix incorrect assert for result.type in DXIL SetResult
...
Want to assert if members.empty() && type == Unknown
2025-05-18 09:25:34 +01:00
Jake Turner
3f8df6b589
Spirv Debugger GroupShared simulation changes
...
On the active thread
* GSM reads come from the local GSM cache (not the global GSM data)
* GSM writes go to the local GSM cache and the global GSM data
* Workgroup Memory barrier populates the local GSM cache with the data from the global GSM data
On the non-active threads:
* GSM reads/write always operate on the global GSM data
* Workgroup Memory barrier is ignored
2025-05-16 17:54:44 +01:00