Commit Graph

16935 Commits

Author SHA1 Message Date
Jake Turner 2805fc68f8 Mark DXIL Debugger of unbounded ConstantBuffer array as unsupported
i.e.

ConstantBuffer<Data> cbvArray[] : register(b0, space1);
2026-05-11 12:46:06 +01:00
Jake Turner 57a393f96c DXIL Debugger return 0,0,0,0 for out of bounds CB data access
Use the constant buffer reflection data to determine the size of valid data instead of the size of the bound buffer
2026-05-11 12:29:51 +01:00
Jake Turner 0a212d07d0 Add a D3D12 Shader Debug Zoo test for oob array access in a CBV
GPU will use the bytes from the bound buffer
Debugger simulation will return 0,0,0,0
2026-05-11 12:28:48 +01:00
Jake Turner a9bafd2723 Spirv debugger handle quadScope case when subgroupSize > workgroupSize 2026-05-06 18:34:25 +01:00
Jake Turner 2b634742ae Spirv debugger only set inputs for active lanes 2026-05-06 18:34:25 +01:00
Jake Turner 97149601da VK_Shader_Debug_Zoo changes for compute derivative tests
For compute quad derivatives tests use specific derivative i.e. fine or coarse.
It isn't specified which derivative mode is used, drivers differ on behaviour.
2026-05-06 18:33:03 +01:00
Jake Turner 54badbdd08 Only mark memory frame references for forced referenced buffers
With descriptor buffers more resource types were added as forced references and this ended up marking more memory as referenced than should be including potentially using uninitialised data for memOffset and memSize.
2026-05-06 13:49:44 +01:00
baldurk c79d939445 Add manual emulation of IsHelperLane() on SM <6.6
* The default dxc emulation does not work when running in MSAA as our shader
  runs at sample rate and SV_Coverage can be non-zero even for helper lanes.
2026-05-05 18:00:28 +01:00
baldurk 13b6d9a854 Use chunk offset not relative EID for AS patchbuffer lookup
* EIDs can change after initial recording of a command buffer, due to resizing
  indirect executes, causing loading and active replaying to disagree on the
  relative EID of a build. Chunk offsets are always fixed and we only need a
  unique incrementing counter.
2026-05-05 17:26:11 +01:00
baldurk c59b80b69e Fix crash on windows 7 accessing experimental D3D12 function call 2026-05-05 17:26:11 +01:00
Jake Turner ee3addbc50 Fix m_RootEventID during load/replay of VkQueueSubmit with zero count
vkQueueSubmit(0) and VkQueueSubmit2(0)
2026-05-05 13:28:32 +01:00
Jake Turner f62af14532 Add VK_Parameter_Zoo test case for VkQueueSubmit with zero count
vkQueueSubmit(0) and VkQueueSubmit2(0)
2026-05-05 13:28:32 +01:00
Jake Turner 6008228c60 DXIL Debugger look up resource name from EmtryPoint if not cached
If the resource is not referenced in the shader then it won't be cached
2026-05-05 07:26:58 +01:00
baldurk 9c4dc88642 Bump version to v1.45 2026-05-01 16:25:30 +01:00
Jake Turner 050034a0fa Add missing DoStringise() entry for DescriptorType::Buffer v1.44 2026-04-30 20:59:54 +01:00
baldurk 09fb0b0f1c Fix check when removing resources from wrapper map 2026-04-30 15:57:39 +01:00
baldurk ddc475d729 Use raw strings for regexs in python tests 2026-04-30 15:55:27 +01:00
Jake Turner fcebc9cebb Make a copy of the RootActions in TestCase.validate_eventids()
Otherwise the next call to controller.GetRootActions() will return an empty list
2026-04-28 13:12:18 +01:00
Jake Turner d0b69c7034 Add Python test helper validate_eventids()
Called when loading captures in Iter_Test and Repeat_Load

Checks the consistency of EventIds:

Walk the actions to find all the referenced EventId's:
- Error if any EventId is duplicated
- Error if the EventId's are not contiguous (with no gaps)
2026-04-24 15:50:40 +01:00
Jake Turner 20ffe66fb5 After loading a capture check the consistency of EventIds
Walk the actions to find all the referenced EventId's

- Error if any EventId is duplicated
- Error if the EventId's are not contiguous (with no gaps)
2026-04-24 14:11:37 +01:00
Jake Turner 2287790c41 Extend VK_Resource_Usage test: multiple usages, desc buffer copying
- Bind the same resource as the Indirect Buffer and the Index Buffer
  - Defines the resource usage when an indirect command binds the same resource for multiple usags i.e. Indirect + Index Buffer
- Descriptor buffer contents set by earlier command buffer than usage in a single submit
  - Verifies the resource usage submit replay is correct (one command buffer at a time)
2026-04-23 16:14:13 +01:00
Jake Turner 0384c64d81 Fix submit semaphores in VK_Resource_Usage test
Fix validation layer errors
2026-04-22 12:24:34 +01:00
Jake Turner 7da9fd2c11 Fixes for loose events on secondary command buffers
- Don't modify the command buffer loose events because the the command buffer might be executed multiple times
2026-04-21 10:39:23 +01:00
Jake Turner 93fc846cb2 Don't modify command buffer loose events when adding them via submit
The command buffer might be submitted multiple times
2026-04-21 10:39:23 +01:00
Jake Turner 15dfa312da Extend VK_Resource_Usage test: multiple command buffer submit/exec
Execute multiple secondary command buffers at once
Test loose events (barriers) on nested secondary command buffer, secondary command buffer which is submitted multiple times and a command buffer which is submitted multiple times
Submit the same command buffer multiple times
2026-04-21 10:39:23 +01:00
Jake Turner d8cb84e2ce Add setName overload for VkCommandBuffer, VkCommandPool 2026-04-21 10:37:46 +01:00
Virgile Bello ceeeaa5478 Gate multiview builtin shaders on multiview feature check 2026-04-20 17:55:24 +09:00
Jake Turner a606bcda53 Add EID shift to loose events & uaage after IndirectDraw*Count
Apply to loose events i.e. Barriers and resource usage in the current command buffer info
Fixes incorrect event ID in UI and resource usage for non-Action events at the end of a command buffer which contained IndirectDraw*Count calls
2026-04-16 16:10:00 +01:00
Jake Turner e4a3fdce0f Extend VK_Resource_Usage test
IndirectDrawCount
Loose events (barriers) after actions
2026-04-16 15:57:22 +01:00
baldurk f9cc10399f Add check that all PR commits are formatted
* Checking compilation would be prohibitively expensive, but formatting can be
  feasibly checked.
2026-04-16 14:00:58 +01:00
baldurk ec64c18bb0 Add option to clang-format script to format just files in head commit 2026-04-16 14:00:58 +01:00
baldurk 82835ed267 Bump actions versions in CI 2026-04-16 14:00:58 +01:00
baldurk 177ac34102 Add some missing HTML exported vulkan pipeline state values 2026-04-16 14:00:58 +01:00
baldurk 748aeee584 Fix inconsistencies in exports D3D12 html state. Closes #3823 2026-04-16 14:00:58 +01:00
baldurk 0b9a36b581 Fix ID registration when false-duplication happens on replay
* We normally deduplicate during capture, but replay can introduce new
  duplication against internal objects. Using ReplaceResource() would fix this
  but updating the wrapper map is necessary for D3D11 to query current state
  properly.
2026-04-16 14:00:55 +01:00
baldurk c610f14a0c Use uint64 for internal co-ordinates in sparse tracker
* Without this then buffers over 32-bit range which are treated as a 1D resource
  could fail. Note that most APIs don't actually behave well with >=4GB buffers.
2026-04-15 22:12:33 +01:00
Wusiki Jeronii d6a7e60752 win32_hook: use local search name in Hooked_GetProcAddress ordinal path 2026-04-15 02:25:05 +09:00
Wusiki Jeronii 5461f5246a win32_hook: applied clang-format 2026-04-15 02:25:05 +09:00
Wusiki Jeronii 31078b8fb2 win32_hook: keep original func for ordinal GetProcAddress fallback 2026-04-15 02:25:05 +09:00
Wusiki Jeronii c8d69685ec win32_hook: preserve ordinal forwarding 2026-04-15 02:25:05 +09:00
Jake Turner ccc2a5023a D3D12 EI ActionCallback replay don't generate negative argidx
For an EI with a single argument then curEID == baseEventID because the fake push/pop markers are not present
2026-04-14 17:28:55 +01:00
Jake Turner 3ba5cc499d D3D12_Execute_Indirect Test for large draws with Quad Overlay(Pass) 2026-04-14 17:28:55 +01:00
Jake Turner 35437065a1 DXIL Debugger support for direct heap access Constant Buffers 2026-04-14 14:18:16 +01:00
Jake Turner 2361be9f36 Add shader debug test to D3D12_Descriptor_Indexing
Tweak test shader to exercise shader debug simulation of SM6.6 direct heap access
2026-04-14 14:18:16 +01:00
Jake Turner 05f773971c Tweak C++ ShaderVariable consistency checks to match validate_trace
Ignore empty before/after for resource ShaderVariables in SHADER_VARIABLE_CHANGE_CONSISTENCY_CHECKS
2026-04-14 14:18:16 +01:00
Jake Turner e9bce39efc Ignore empty before/after for resource ShaderVariables in validate_trace 2026-04-14 13:26:29 +01:00
Jake Turner 1a80b9b9a2 Add descriptor index to UAV/SRV error messages in DXIL Debugger 2026-04-14 13:26:26 +01:00
Jake Turner 4fad937d9e DXIL reflection default stride to one for ByteAddressBuffer
Fixes DXIL debugging of root constant ByteAddressBuffer
2026-04-13 14:48:54 +01:00
Jake Turner 62ae80f3ff D3D12_Shader_Debug_Zoo test for root signature ByteAddressBuffer 2026-04-13 14:48:54 +01:00
Carl 5b624afa43 Fixed missing switch case break on D3D12DescriptorType::CBV 2026-04-13 14:46:40 +01:00