Commit Graph
338 Commits
Author SHA1 Message Date
baldurk ae2f8db399 Add option to hard-break on validation errors in tests
* On D3D we also start checking for leaking objects on shutdown (Vulkan this is
  done by default, GL we have no control over validation).
2026-11-10 12:02:45 +00:00
baldurk 3ea44b8511 Add tests for separate debug info on D3D + Vulkan, and embedding 2026-10-26 11:47:28 +00:00
Jake Turner f179aa01c9 D3D12_Groupshared tests for OOB GSM memory access 2026-10-23 13:01:29 +01:00
baldurk 183fbfab8a Fix demos compile error
* error C2026: string too big, trailing characters truncated
2026-10-20 13:33:44 +01:00
Jake Turner 33b0522c4f Extend D3D12_Shader_Debug_Zoo tests for arrayed resources
- bounded array of srv, uav, sampler, cbuffer
- unbounded array of srv, uav, sampler, cbuffer
2026-10-19 11:46:50 +01:00
Jake Turner b299a12234 D3D12_Execute_Indirect: fix GPUVA Errors 2026-09-22 16:02:53 +01:00
baldurk 3cc984148c Put demos temp files in each demo's tmp directory 2026-09-11 17:27:36 +01:00
Jake Turner 356684b378 D3D12_Execute_Indirect Increase count buf draw count to 256
A small stress test to exercise RenderDoc resolving of EI actions during loading
2026-09-06 19:48:14 +01:00
Jake Turner 0219134aa8 Add test to D3D12_Parameter_Zoo for DXIL CST_CODE_CE_GEP (12)
DXC emits CST_CODE_CE_GEP for constants which are not in bounds
RenderDoc treats it the same as CST_CODE_CE_INBOUNDS_GEP (20)
2026-08-10 07:22:36 +01:00
Jake Turner 5a1b2c23e1 Extend D3D12_Annotations test
- loose event annotation
  - a barrier at end of command buffer
  - at end of command buffer attached to CommandList Close
  - command buffer with no actions, just set marker
- annotations before/during/after ExecuteIndirect calls
2026-07-30 16:36:02 +01:00
Jake Turner 9b942d0533 Extend D3D12_Execute_Indirect: add tests with a count buffer
- MaxCount: 1024 CountBuf: 5
- MaxCount: 1 CountBuf: 7
- MaxCount: 0 CountBuf: 11
2026-07-27 21:23:13 +01:00
baldurk d3b1d29969 Add a test for ByteAddressBuffer length queries 2026-07-17 16:14:29 +01:00
Jake Turner 4f7d9c7cb2 Updates to D3D12_Execute_Indirect testing
Check overlays produce some output for each draw within the different EI except the non-determistic EI.
2026-06-02 08:32:04 +01:00
baldurk ad95260de1 Mark denorm test as undefined due to suspected NV driver bug 2026-05-27 14:30:00 +01:00
Jake Turner 0060a31676 Fix D3D12_Shader_Debug_Zoo check for test 12 2026-05-19 12:00:05 +01:00
baldurk 034264e961 Use values less likely to have rounding issues in demo 2026-05-18 16:09:18 +01:00
baldurk 0365585f1e Handle barycentrics not being available in demos test 2026-05-18 15:28:08 +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
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
Jake Turner 3ba5cc499d D3D12_Execute_Indirect Test for large draws with Quad Overlay(Pass) 2026-04-14 17:28:55 +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 62ae80f3ff D3D12_Shader_Debug_Zoo test for root signature ByteAddressBuffer 2026-04-13 14:48:54 +01:00
Jake Turner a83e75e58a D3D12 Shader Debug test for handling of bool literals and negation
DXIL/LLVM represents a bool as i1
2026-04-03 16:55:46 +01:00
widberg ec8f1d51f5 Move alignas
Placing `alignas` before the type is more in-line with the C++ standard,
Microsoft Learn examples, and other places in this codebase. While the
old way worked with MSVC, this is more consistent and improves
compatibility with other tools without affecting the MSVC build.
2026-03-25 00:31:43 +09:00
baldurk a4b8179794 Fix query tracking to be per-cmdbuf on replay. Closes #3797 2026-02-13 13:06:19 +00:00
baldurk 1f29df7bfb Add test for D3D12 predication 2026-02-04 22:33:57 +00:00
baldurk 965d1c9568 Add demo tests for annotations 2026-01-28 14:42:11 +00:00
Jake Turner eba1a12648 DXIL Shader Debugger test using enum 2026-01-24 08:17:04 +13:00
baldurk 856c838def Update copyright years to 2026 and fix copyright ranges
* In a previous update in 2021 many copyright ranges were truncated
  accidentally, and some files have been copy-pasted with wrong years. These
  dates have been fixed based on git history and original copyright messages.
2026-01-05 14:17:28 +00:00
Jake Turner 1b5543e74f Fix D3D12 Compute Derivative Tests
Use groupId for the output buffer index to match the python
Only output results for workgroup 1,0,0

Do not reset test failing to false in check_compute_derivative_tests()
2025-12-22 09:03:33 +13:00
Jake Turner 3767d5da0c Added D3D11, D3D12 shader debug tests for CalculateLevelOfDetail* 2025-12-14 08:11:14 +13:00
Jake Turner 1b56d385fe D3D12 Test cases for SM6.6 Derivatives in Compute Shaders
HLSL
ddx()
ddx_coarse()
ddy()
ddy_coarse()
ddx_fine()
ddy_fine()

CalculateLevelOfDetail()
CalculateLevelOfDetailUnclamped()
Sample()
SampleBias()
SampleCmp()
2025-12-12 12:02:16 +13:00
Jake Turner e2ca32a348 D3D12_Subgroup_Zoo tests for Quad Ops in Compute Shader
QuadReadLaneAt
QuadReadAcrossDiagonal
QuadReadAcrossX
QuadReadAcrossY
QuadAny
QuadAll
2025-12-11 15:39:19 +13:00
Jake Turner abbe6d128a D3D12 EI test for setting a single 32-bit root constant 2025-12-03 11:20:19 +13:00
Vladislav Korytsko 8530da8274 Fix dataSize calculation in WriteToSubresource
Corrects width, height, and depth calculation in WriteToSubresource for the specified subresource when storing provided source data blob. Using base resource dimensions could have led to source-data read access violation.
Also updates corresponding test to validate subresource modification.
2025-12-03 05:56:55 +09:00
Jake Turner a9056f1eca Add a D3D12 EI test case for an EI which does not need a root signature
EI with:

D3D12_VERTEX_BUFFER_VIEW
D3D12_DRAW_ARGUMENTS
2025-11-20 15:41:32 +13:00
Jake Turner 67fc8618a7 Move the recent D3D12_Shader_Debug_Zoo tests to the noResources shader 2025-11-19 10:44:18 +13:00
Jake Turner 0d695da164 Set the d3d12path for d3d12 tests before caching the d3d12 capabilities 2025-11-18 11:40:04 +13:00
Jake Turner a9c2f082bc Moved new DXIL shader debug zoo tests from CS to PS
Guarded use of double by testing against D3D runtime : DoublePrecisionFloatShaderOps
2025-11-18 09:48:07 +13:00
Jake Turner 4ec8e969bc Extra DXIL shader debug zoo tests
float64, float32, float16 Tests for:

min
max
abs
fmad
frac
dot2/3/4
saturate

sint64, sint32, sint16, uint64, uint32, uint16, Tests for:

min
max
mulitply
division (UDiv)
imad
dot2/3/4
2025-11-17 15:52:27 +13:00
Jake Turner c864e87fbb Reorder the D3D12 DebugData Zoo shader work around bad DXC debug data
Put the early return case as the first case in the switch statement
2025-11-17 07:13:34 +13:00
Jake Turner dbbd9ba010 Added MSAA tests for SM6.0 and SM6.
Disabled in the python because the RenderDoc does not currently support DXIL debugging of MSAA instructions or SV_Barycentrics
2025-11-17 05:47:55 +13:00
Jake Turner a9edce59ea New D3D11/D3D12 shader linkage tests for float3 packing/not packing
Packing float with a float3

float TEXCOORD0
int   TEXCOORD1
float3 COLOR

Packing float with a float3[1]

float TEXCOORD0
int   TEXCOORD1
float3[1] COLOR

Not packing float with a float3[2]

float TEXCOORD0
int   TEXCOORD1
float3[2] COLOR
2025-11-12 11:42:19 +13:00
Jake Turner f858b2320f Extend D3D12_Shader_DebugData_Zoo tests to include matrix
Check matrix in the outputs from Vertex Shader
Check matrix in the inputs to Pixel Shader
Check matrix debug data source values from debugger trace
2025-11-12 11:10:32 +13:00
Jake Turner 9598abb266 D3D12 Shader Debug Zoo simple test for matrix output/input 2025-11-12 10:57:13 +13:00
baldurk 23748c0089 Fix validation issues with D3D12 test 2025-11-10 16:43:05 +00:00
baldurk ea368a631e Allow GPU upload heaps to be enabled in D3D12. Closes #3724
* We attempt to enable the experimental feature since this allows the use of the
  feature on a much wider set of OS versions, at the time of this commit support
  seems quite rare/narrow.
2025-11-10 16:43:05 +00:00
Jake Turner 14a4b283b3 Quick double/float/half mad intrinsic tests for D3D12
half will only be 16-bit for the SM6.6 tests
2025-10-28 17:03:26 +00:00
Jake Turner 8d57a00a64 Fixup D3D12_Resource_Mapping_Zoo Sampler array tests
Add valid samplers instead of sampling using a NULL sampler
2025-10-27 13:57:23 +00:00
baldurk 48088ac07e Add handling of D3D shaders which declare no output value 2025-10-27 11:50:36 +00:00