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
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
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
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
872752cd51
Add version check for -select-validator which was annoyingly removed
2025-09-22 14:21:36 +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
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
101953be7a
Only create initial contents for memory that is initialisable
2025-09-18 10:05:06 +01:00
Jake Turner
52cb002dd7
Defensive code fix for RT auditing after device lost
2025-09-17 13:24:11 +01:00
baldurk
0e271c5cdb
Release device tools
2025-09-17 11:10:07 +01:00
baldurk
4998542c06
Update to latest stable D3D12 headers 1.616.1
2025-09-16 18:21:03 +01:00
baldurk
7ef361fec5
Ensure memory without initial states on vulkan are cleared properly
...
* The code was already handling the replay optimisation level properly, but
without a dummy initial contents we were never even getting to the apply for
memory objects created mid-frame and so without any initial contents.
2025-09-16 17:07:08 +01:00
baldurk
0a6a8e763a
Fix overly aggressive check for UAV clears not accounting for depth
2025-09-16 11:19:14 +01:00
baldurk
2fd7cd94e3
Only consider active lanes when choosing the candidate compute thread
2025-09-15 10:27:39 +01:00
baldurk
d0b7d602a7
Fix the wrong type being declared for subgroupid
2025-09-11 12:55:21 +01:00
baldurk
8546876aed
Ensure we can set ExecuteIndirect root constant values
...
* If the array isn't large enough we must resize it, this was already done for
CBV/SRV/UAV root parameter sets.
2025-09-10 14:56:41 +01:00
baldurk
b5559e7d1b
Fix badly copy-pasted error message
2025-09-10 14:43:40 +01:00
baldurk
848b47b80d
Handle clears in pixel history view of UAV-only textures
2025-09-10 12:56:27 +01:00
baldurk
4b2a817fce
When estimating descriptors only enable AS usage if AS ext is enabled
2025-09-10 11:55:31 +01:00
baldurk
1d5b1e4bb4
Strip EXT_external_memory_dma_buf on replay
2025-09-10 11:55:30 +01:00
Shahbaz Youssefi
e0361aee80
Fix replay with VK_KHR_surface_maintenance1
2025-09-10 17:59:30 +09:00
baldurk
beaff65537
Fix incorrect trailing type declarations
2025-09-09 21:07:29 +01:00
baldurk
a2286f35ca
Add missing trailing newlines in docstrings
2025-09-09 20:09:02 +01:00
baldurk
5957a2710b
Enforce that all docstrings of members have a :type:
2025-09-09 18:57:35 +01:00