Jake Turner
f12aa91ba2
Python helpers to generate and check a full trace from shader debug
2025-09-24 14:13:59 +01:00
Jake Turner
e6f75e1530
Update Spirv debugger methods to be const methods
...
Add read/write locking for containers "usedNames" and "dynamicNames"
2025-09-24 14:09:43 +01:00
Jake Turner
64b9e517e0
VK_Shader_Debug_Zoo test of overlapped GPU math and sampling operations
2025-09-24 14:01:47 +01:00
Jake Turner
fc2c080a77
Remove unused cycles variable in VK_ShaderDebugZoo
2025-09-24 14:01:30 +01:00
Jake Turner
d0d385ceef
Use const reference for ShaderBindIndex argument passing
2025-09-24 13:53:56 +01:00
Jake Turner
3b74e038d2
Assert for SPIRV Subgroup Ops that the subgroup is converged
2025-09-24 13:49:51 +01:00
Jake Turner
e5121962f3
Spirv Debugger control flow helper variable tweaks
...
Removed unused mergeBlock
Made control flow variables private with helper methods to get them
2025-09-24 13:46:00 +01:00
Jake Turner
c0b77c1d0c
Add thread safe SPIRV Debugger::AddDebugMessage()
...
Adds to an MT safe queue which is processed on the debugger device thread
Made ClampScalars static methods become Debugger helper member functions
2025-09-24 13:39:48 +01:00
Jake Turner
6163426870
Assert for SPIRV CalcDeriv that the lanes are converged
2025-09-24 13:36:12 +01:00
Jake Turner
a2de7cb4ff
Add Threading::JobSystem::GetCountWorkers()
2025-09-24 13:32:37 +01:00
Jake Turner
a4bf961af3
Add asserts for SPIRV Debugger APIs to be called on the device thread
2025-09-24 13:22:46 +01:00
Jake Turner
135389a605
Add asserts for VulkanAPIWrapper APIs to be called on the device thread
2025-09-24 12:17:58 +01:00
Jake Turner
6518e89b3e
Change VulkanAPIWrapper::m_Creation to be const
2025-09-24 12:13:05 +01:00
Jake Turner
6058969b74
Add VulkanCreationInfo const helpers
...
Useful for multi-threaded use of VulkanCreationInfo to guarantee it can't be accidentally mutated.
Primary usage is for SPRIV shader debugging.
Change existing VulkanDebugManager helpers to use the new helpers
2025-09-24 12:05:20 +01:00
Jake Turner
decbcff6ab
Enable Vk Workgroup and Subgroup tests
2025-09-24 12:04:37 +01:00
Jake Turner
754b5d21eb
Change VK_Workgroup_Zoo test to be deterministic
2025-09-24 11:50:52 +01:00
Jake Turner
b3981e9bf6
Change DXIL debugger to generate CBuffer Handle ShaderVariable data
...
Generate a struct of N x uint4, where N comes from the DXIL metadata cbuffer resource size
Fixes ShaderVariable malformed errors when using cbuffers with packedoffset
2025-09-23 16:18:00 +01:00
Jake Turner
0f0da06737
Fix DXIL Debugger Constants display of cbuffer with packedoffset
...
The simulation had the correct values
cbuffer packed_consts : register(b1)
{
float col1z : packoffset(c1.z); // 4+2
float col2w : packoffset(c2.w); // 8+3
};
2025-09-23 16:16:32 +01:00
Jake Turner
bfb0b09db9
Fix DXBC Debugger for cbuffer with packedoffset at non-zero component
...
cbuffer packed_consts : register(b1)
{
float col1z : packoffset(c1.z); // 4+2
float col2w : packoffset(c2.w); // 8+3
};
2025-09-23 16:14:13 +01:00
Jake Turner
e16a714aba
New cbuffer tests: D3D11, D3D12 packedoffset; D3D12 cbuffer array
...
cbuffer packed_consts : register(b2)
{
float col1z : packoffset(c1.z); // 4+2
float col2w : packoffset(c2.w); // 8+3
};
struct ArrayStruct
{
float4 a;
};
ConstantBuffer<ArrayStruct> array_consts[2] : register(b3);
2025-09-23 15:59:48 +01:00
Jake Turner
b47e703c06
Include the cbuffer element byte offset in DXIL disassembly
2025-09-23 15:59:32 +01:00
baldurk
659bdee578
Implement D3D12 shader feedback for constant buffers
2025-09-23 14:49:20 +01:00
baldurk
3d1e78ba17
Handle buffers created in new state with undefined layout
...
* These can implicitly be transitioned to old states even though the spec says
resources must go via COMMON - because there is no way to do that for new
buffers.
2025-09-23 10:16:03 +01:00
baldurk
de1fd89591
Remove debug code
2025-09-23 09:48:17 +01:00
baldurk
2381c2669d
Add support in tests for compiling with separate shader debug info
2025-09-22 14:21:56 +01:00
baldurk
872752cd51
Add version check for -select-validator which was annoyingly removed
2025-09-22 14:21:36 +01:00
baldurk
cda6da6945
Enumerate supported shader model in demos a bit more tightly
2025-09-22 13:49:51 +01:00
baldurk
d4fd5b4977
Don't use = for argument parameters in SRCI information from dxc
2025-09-22 13:48:42 +01:00
baldurk
26cf7d3d7f
Ensure shader reflection information is stored as const
...
* Avoids accidental modifications
2025-09-22 11:58:56 +01:00
Cam Mannett
0dd399cc11
Handle multiple and NULL initial state AS descriptors
...
* Fix for handling NULL VkAccelerationStructureKHR handles in an AS write descriptor
* Fix for handling multiple AS write descriptors across different bind indices
2025-09-20 00:37:32 +09:00
baldurk
bf8354b703
Pass fragment offsets on renderpass end
2025-09-19 16:19:42 +01:00
baldurk
9954649720
Update unit test for new compile flag
2025-09-19 16:03:19 +01:00
baldurk
5f95354737
Process fake OpModuleProcessed comments in non-semantic debug source
2025-09-19 16:03:18 +01:00
baldurk
f17604df26
Restore depth bounds test correctly for depth test overlay. Closes #3701
2025-09-19 16:03:18 +01:00
Mike Blumenkrantz
29187e6c15
support VK_VALVE_fragment_density_map_layered
2025-09-20 00:03:09 +09:00
Mike Blumenkrantz
9cfef91e06
support VK_EXT_fragment_density_offset
2025-09-20 00:03:09 +09:00
baldurk
1e0f960635
Don't allow implicit scalar to vector casts in Vec helpers
...
* With all default parameters in the constructor `Vec4f foo = 1.0f` would be
legal by implicit constructor.
2025-09-19 14:13:01 +01:00
baldurk
7f92c9204b
Handle dubiously-valid unbound scissor region in D3D12 pixel history
2025-09-19 14:13:01 +01:00
baldurk
baecdd85ca
Improve arrow key nudging behaviour on NPOT mips in texture viewer
2025-09-19 14:13:01 +01:00
baldurk
858cfab281
Improve positioning for pixel context highlight for NPOT textures
2025-09-19 14:13:01 +01:00
baldurk
a22b8a88a2
Calculate mip shift accurately for NPOT textures
2025-09-19 14:13:01 +01:00
baldurk
b857cb2b0b
Build shaders with debug info when self-capturing
2025-09-19 11:55:42 +01:00
baldurk
fd86ca4ddc
Allow editing zoom level text when fit-to-window is enabled
...
* We need to disable it before changing the zoom level.
2025-09-19 11:01:12 +01:00
baldurk
101953be7a
Only create initial contents for memory that is initialisable
2025-09-18 10:05:06 +01:00
baldurk
998b1c7ee0
Don't offer option to debug pixel on events that are not draws
2025-09-17 17:09:39 +01:00
Jake Turner
52cb002dd7
Defensive code fix for RT auditing after device lost
2025-09-17 13:24:11 +01:00
baldurk
7734a36228
Fix shader clears to properly reset all labels
2025-09-17 11:26:08 +01:00
baldurk
86e6941265
Use device independent scaling for height calculation
2025-09-17 11:25:59 +01:00
baldurk
0e271c5cdb
Release device tools
2025-09-17 11:10:07 +01:00
baldurk
1df4a75a97
Remove shader controls frames to allow full flow layout wrapping
2025-09-17 09:58:50 +01:00