Commit Graph

16331 Commits

Author SHA1 Message Date
Steven Li bee232f40c Fix the read back for remapped depth texture 2025-10-15 00:46:58 +09:00
Jake Turner 196ca9bae2 Run validate_trace() as part of generate_full_trace()
Ensure the trace is valid before running comparisons on it
2025-10-10 12:58:32 +01:00
Jake Turner 5f4614812c Spirv Atomic operations load GSM from global backing memory 2025-10-10 12:46:00 +01:00
Jake Turner 2fda1f79eb Extend VK Groupshared GSM atomic tests to match D3D12 Groupshared 2025-10-10 12:40:44 +01:00
Jake Turner 4f8954ca1a Extend D3D12 Groupshared GSM atomic tests of groupshared int 2025-10-10 12:40:40 +01:00
baldurk d4c38ac2fb Fix crash reading out of bounds on marker string 2025-10-10 11:48:25 +01:00
baldurk f64a6f3d31 Handle undef or NULL constant pointers without crashing 2025-10-09 14:47:28 +01:00
baldurk 824c8c1345 Don't match builtin inputs to vertex input attributes 2025-10-09 12:31:58 +01:00
baldurk 9e0d6f18d6 Display a message when we can't debug a pixel shader and show a history 2025-10-08 22:34:53 +01:00
Jake Turner 03b06b7e3c Update mac CI to use macos-14 runner 2025-10-08 16:10:31 +01:00
Jake Turner cfc467bbc4 Increase SRGB <-> Linear test tolerance to 6ULP
MacOS14 LLVM version needed this increase
2025-10-08 16:10:21 +01:00
Jake Turner c69d482f66 Remove race from D3D12 Shader Debug Zoo Interlocked tests 2025-10-08 16:08:43 +01:00
baldurk a2ce9b46db Add some array-based tests to shader linkage zoo demos 2025-10-08 14:22:45 +01:00
Aliya Pazylbekova 56ee544a28 Special treatment of UNDEFINED layout for external images
- Preserve the initial contents of UNDEFINED images if they are
external
- Don't consider a pipeline barrier from UNDEFINED a resource
discard for external images

Change-Id: Ife30e7c542a66668d681d492363a25745238119e
2025-10-08 21:11:12 +09:00
Jake Turner 49e764e2c1 D3D12_Shader_Debug_Zoo test overlapped GPU math and sampling operations
Also unified the indentation to spaces in the shader source
2025-10-08 09:48:14 +01:00
Jake Turner 15b510f131 Fix incorrect assert about DXIL result SSA tracking
Assert was changed in 0809a6dd3f when ssaMaxExecPoints was made into an rdcarray
2025-10-07 16:43:12 +01:00
Jake Turner 30b45f0cff Use ShaderDebugData enum when creating Vk Shader Debug Readback Buffer
ShaderDebugData::MAX_QUEUED_OPS instead of hard coded 128
2025-10-06 16:20:55 +01:00
baldurk 2485eefc80 viewportCount can't be assumed to be the number of scissors
* Although normally viewportCount == scissorCount, if viewport is
  DYNAMIC_WITH_COUNT and scissor is only dynamic (or fixed) the number of
  scissors must be used strictly.
2025-10-06 14:21:10 +01:00
baldurk a4ae1e881a Handle descriptor state being invalid/inaccessible for non-draw actions 2025-10-06 13:17:29 +01:00
Jake Turner 48fd758960 Set the correct values for the return of Operation::CompareExchange
Returns a struct: { Original Value,  1 (equal) / 0 (not equal)
2025-10-05 07:50:05 +01:00
Jake Turner 0e6fc382d7 Add Interlocked* tests to D3D12_Groupshared 2025-10-05 07:50:05 +01:00
Jake Turner 823ae93845 Support for Operation::ExtractVal on a struct 2025-10-05 06:49:54 +01:00
Jake Turner c1ba2694f7 Remove m_State from Spirv Debugger
Replaced with bool hasDebugState
2025-10-04 12:23:10 +01:00
Jake Turner 95b98c81f1 Update Spirv DebugBreak to work with multi-threading
Use pendingDebugState instead of m_State
2025-10-04 11:20:11 +01:00
Jake Turner 0809a6dd3f Changed ExecutionPointPerId to be an rdcarray instead of std::map
DXIL Debugger optimisation
2025-10-04 11:09:13 +01:00
Jake Turner b70b79e897 Changed m_Variables to be an rdcarray instead of std::map
DXIL Debuggeer optimisation and thread-safety
2025-10-04 09:25:04 +01:00
Jake Turner 377280eada Op::ImageRead does not have to be in lockstep
It does not require derivatives
2025-10-04 08:19:42 +01:00
Jake Turner ecd1860789 DXIL Debugger helper lanes don't modify UAVs 2025-10-04 07:16:49 +01:00
Jake Turner 3e38a63ebb D3D12_Shader_Debug_Zoo test for helper lane UAV writes are ignored 2025-10-04 07:16:49 +01:00
Jake Turner a0db9d5a1f Comment about thread safety requirements in Spirv debugger ids container 2025-10-03 15:20:57 +01:00
Jake Turner d7f7be63a9 Spirv debugger small tidy up for consistency
Rename:
simulationFinished -> atomic_simulationFinished
Vulkan_Hack_ShaderDebugUsesJobSystemQueue -> Vulkan_Hack_ShaderDebugUsesJobSystemJobs
2025-10-03 06:24:49 +01:00
baldurk 36f8d654dc Add NULL aliasing barrier around buffer discard patterns 2025-10-02 14:17:20 +01:00
baldurk 2018b5d790 Use the correct state for creating whole memory buffers on D3D12 2025-09-30 11:26:01 +01:00
baldurk a92e0d2669 Ensure capabilities are properly cached when only prepared once 2025-09-30 11:26:01 +01:00
Zackery Mason-Blaug 30f5a4023d Add support for VK_EXT_vertex_attribute_robustness 2025-09-30 19:10:06 +09:00
Zackery Mason-Blaug 9711e0eb57 Add support for maintenance9 vertex attribute robustness 2025-09-30 19:10:06 +09:00
Jake Turner c03b2e2fb0 Remove unused methods from GpuMathOperation & GpuSampleGatherOperation
Clear() methods are not used
2025-09-29 17:09:04 +01:00
baldurk 8864a1d81e Improve time listing available demos
* Remove redundant repeated calls when preparing multiple tests
2025-09-29 16:40:15 +01:00
baldurk dadf4a14d5 Serialise D3D12 buffer initial contents less memory-intensivesly 2025-09-29 16:37:45 +01:00
baldurk 41e9f3c426 Add a demo project with extremely high overlap/sparseness buffers
* For stressing memory overhead in buffer initial states
2025-09-29 16:37:45 +01:00
Jake Turner 9952483f2b Make D3D12_Groupshared test deterministic 2025-09-28 07:26:30 +01:00
Jake Turner 1ccdf7f4f4 Op::ControlBarrier requires full lockstep when being simulated
Lockstep before executing the instruction
Lockstep after executing the instruction
2025-09-28 07:26:30 +01:00
Jake Turner 357102fd3f Make VK_Groupshared test deterministic 2025-09-28 07:26:30 +01:00
Jake Turner d6a49c4c18 Make D3D12_Workgroup_Zoo test determistic 2025-09-28 07:26:30 +01:00
Jake Turner 9e63b3fb8c Enable VK_Groupshared test 2025-09-28 07:26:30 +01:00
Jake Turner 11a4104bde DXIL Debugger support for thread local global memory 2025-09-28 07:26:30 +01:00
Jake Turner 61cc31062e Change D3D12_Shader_Debug_Zoo test to exercise thread local global mem 2025-09-28 07:26:15 +01:00
Jake Turner a5c3ee4b70 Tweak to DXIL debugger cbuffer handling
Initialise the ShaderVariable for the handle to 0xCC
Only memory copy the bytes available (do not assume the source buffer is a multiple of 16 bytes in size)

Fixes non-determinism problem (exposed by root constant buffer of size four bytes)
2025-09-25 17:35:35 +01:00
Jake Turner fa40e51e7d Tweak d3d12_workgroup_zoo : set both root constants for both dispatches 2025-09-25 17:35:35 +01:00
Jake Turner 8ecc23e78d Return 0,0,0,0 when sampling NULL resources in Spirv Shader Debugger 2025-09-25 17:35:35 +01:00