Commit Graph

1214 Commits

Author SHA1 Message Date
baldurk 6e5518e882 Add --gpuva option to vulkan tests 2025-06-19 16:14:18 +01:00
thisisjimmyfb b79d1e6fe2 Android swapchain format selection prefer to use srgb format
Android to use similar swapchain format and dimension as Windows
2025-06-19 11:45:04 +01:00
thisisjimmyfb 29207a7333 Fix VK_Leak_Check for Android
RemoteServer timedout due to VK_Leak_Check taking too long before sending commands to remote server. Spawning a worker thread to keeping the remote server connection alive fixes the disconnection issue.
2025-06-19 11:45:04 +01:00
thisisjimmyfb 97c74415f6 VK_Large_Descriptor_Sets
Use remote server friendly routine to check capture file
2025-06-19 11:45:04 +01:00
thisisjimmyfb 035fc9974d Remote Android and Linux test support part 2
Support swapchain image size greater than 4
2025-06-19 11:45:04 +01:00
thisisjimmyfb b1d3123583 Remote Android and Linux test support part 1
Add remote server support to test framework
2025-06-19 11:45:04 +01:00
baldurk d7236e0d91 Fix reads & writes to storage texel buffers in vulkan shader debugging 2025-05-26 14:59:46 +01:00
Jake Turner 1881b26fef Test for DXIL constant global pointers 2025-05-22 12:12:09 +01:00
Jake Turner 962c1cdcf6 Enable Python shader trace validation by default 2025-05-19 16:57:22 +01:00
Jake Turner 9523f98b8a Python implementation of ShaderDebugTrace validation
Similar to the validation that is performed in ShaderViewer UI
Disabled by default pass True to process_trace to enable the validation
Includes validate_shadervariable() and shadervariable_equal()
2025-05-19 16:44:45 +01:00
Jake Turner be6cc2d324 Verify pixel history succeeds as part of D3D12_Execute_Indirect tests 2025-05-18 12:52:56 +01:00
baldurk ea19a5d20b Update build-shaderc to properly build on VS2022 with x64
* Add a helper script to build demos with VS2022 in release for shipping that
  link to shaderc. By default VS2015 won't link to it.
2025-05-16 16:00:56 +01:00
Jake Turner fc956fee61 Improvements to *_Groupshared tests
More checking of GSM local/global cache behaviour when debugging
One test is not GPU stable and its results are verified against hard coded expectation (this is to test the expected behaviour of the local GSM cache on the active thread)
2025-05-10 11:49:43 +01:00
Jake Turner d48f217119 Tweak D3D12_Resource_Mapping_Zoo sig_resourceAccess UAV entries
Use UAV handles (20, 21) for the UAVs instead of SRV handles (56, 57)
2025-05-08 16:06:35 +01:00
Jake Turner dbe2d9dd2e Fix D3D12_Shader_Debug_Zoo CS failing test 2025-05-08 10:21:27 +01:00
Jake Turner 033a4d1e5a First version of python for *_Groupshared tests
Verify outval shader debugger variable matches the real generated data in outBuf
2025-05-07 12:12:57 +01:00
Jake Turner fbb39b21a6 Extend D3D12 Shader Debug Zoo GSM tests
struct TestStruct
{
  uint3 a;
  uint3 b;
};

groupshared int gsmInt;
groupshared TestStruct gsmStruct[8];
groupshared int gsmIntArray[128];
2025-05-07 11:18:14 +01:00
Jake Turner 2fbf85fad1 Divide up tests between Workgroup_Zoo and Subgroup_Zoo
Subgroup_Zoo : unit tests, non-trivial convergence tests moved to Workgroup_Zoo
Workgroup_Zoo : convergence tests, small number of unit tests (not full coverage)

Added checks for workgroup convergence in Workgroup_Zoo tests
* Vulkan uses barrier()
* D3D12 uses AllMemoryBarrierWithGroupSync()
* dispatches workgroup of 2x1x1
* test debug results for workgroup 1,0,0
2025-05-07 11:05:55 +01:00
baldurk c945293b3e Add sanity checking strict mode to build scripts 2025-05-06 12:42:23 +01:00
baldurk f9c1ae7944 Fix installer script referencing missing entry 2025-05-03 22:03:21 +01:00
baldurk 852825c6f1 Remove 32-bit GPA from installer manifest 2025-04-30 11:50:55 +01:00
baldurk 395d8079e6 Don't test MSAA with A8_UNORM formats in VK_Texture_Zoo
* This is apparently in a format capability class to R8 it seems, and since we
  don't expect anyone to be rendering to A8 let alone in MSAA, there's no point
  in testing this.
2025-04-28 17:26:53 +01:00
baldurk d239a59ff0 Fix pick component type for S8 textures 2025-04-28 17:26:06 +01:00
baldurk 361624ff84 Add slight increase to error tolerance for SNorm textures 2025-04-28 17:10:53 +01:00
baldurk e0b0b24efd Increase shader compiler delay in tests 2025-04-24 16:12:15 +01:00
Jake Turner 258ab5b6e3 Change test helper to just check for asserts (not errors)
Setting the Vulkan layer produces two errors
2025-04-22 14:31:43 +01:00
Jake Turner a8de121cd0 Check for Asserts & Errors when running D3D12_Shader_DebugData_Zoo tests 2025-04-22 13:09:04 +01:00
Jake Turner 4ead1e4423 Handle initialising a DXIL constant struct to NULL
It is a nop because ShaderVariable starts initialised to 0
2025-04-22 12:37:28 +01:00
Jake Turner eeac056816 VK and D3D12 Workgroup & Subgroup Zoo tests fail on Asserts or Errors
Check the renderdoc log for lines matching "Assertion" or "Error"
Using new helper function in testcase.py
def check_renderdoc_log(self, asserts: bool = True, errors: bool = True):
2025-04-22 12:33:56 +01:00
Jake Turner 1c4520534d new helper function in testcase.py to check RD log for Asserts/Errors
def check_renderdoc_log(self, asserts: bool = True, errors: bool = True):
2025-04-22 12:33:50 +01:00
Jake Turner e14bc98e18 Added VK_Workgroup_Zoo, D3D12_Workgroup_Zoo tests
Tests specifically aimed at workgroup debugging i.e GSM and non-aligned subgroups
Not focused on unit tests of subgroup/quad instructions that is handled by *_Subgroup_Zoo
2025-04-18 13:58:09 +01:00
baldurk a8a0e9628d Update VK_CBuffer_Zoo test to account for glslang regression
* glslang now requires and uses scalar block layout for hlsl cbuffer packing
2025-04-18 13:28:19 +01:00
baldurk f837af3066 Make sure functional test sections always match begin/end 2025-04-18 12:54:53 +01:00
baldurk 933a91e47c Update shaderc build script (VS2015 no longer supported) 2025-04-18 11:19:34 +01:00
Jake Turner 13588f3962 Alter VK, D3D12 Subgroup_Zoo tests to increase convergence/merge usage 2025-04-14 08:46:12 +01:00
Jake Turner 89d131ab3a Add D3D12_Workgroup_Zoo unit tests for QuadAny, QuadAll ops
For SM6.0, DXC will replace with SM6.0 instructions
For SM6.7, DXC will use SM6.7 instruction QuadVote
2025-04-12 11:26:30 +01:00
Jake Turner 21c576730c Add D3D12_Workgroup_Zoo unit tests for SM6.5 Wave ops
WaveMatch()
WaveMultiPrefixSum()
WaveMultiPrefixProduct()
WaveMultiPrefixCountBits()
WaveMultiPrefixBitAnd()
WaveMultiPrefixBitOr()
WaveMultiPrefixBitXor()
2025-04-10 10:48:27 +01:00
Jake Turner cc32e24d81 Add D3D12_Workgroup_Zoo unit tests for Wave Reduction ops
WaveActiveMax()
WaveActiveMin()
WaveActiveProduct()
WaveActiveSum()
WaveActiveAllEqual()
WaveActiveBitAnd()
WaveActiveBitOr()
WaveActiveBitXor()
WaveActiveCountBits()
2025-04-07 17:51:29 +01:00
Jake Turner ebd0648096 Add VK_Workgroup_Zoo unit tests for subgroup Reduction ops
subgroupMax()
subgroupMin()
subgroupMul()
subgroupAdd()
subgroupAllEqual()
subgroupAnd()
subgroupOr()
subgroupXor()
subgroupBallotBitCount()
2025-04-07 17:51:22 +01:00
Jake Turner cf6e3d68fa Add D3D12_Workgroup_Zoo unit tests for Wave Scan and Prefix ops
WavePrefixCountBits()
WavePrefixSum()
WavePrefixProduct()
2025-04-07 13:20:39 +01:00
Jake Turner a4d916f033 Add VK_Workgroup_Zoo unit tests for subgroup Scan and Prefix ops
subgroupBallotExclusiveBitCount()
subgroupExclusiveAdd()
subgroupExclusiveMul()
2025-04-07 13:20:36 +01:00
Jake Turner 214d3f766f Add D3D12_Workgroup_Zoo unit tests for subgroup Broadcast ops
WaveReadLaneFirst()
WaveReadLaneAt()
2025-04-07 11:07:03 +01:00
Jake Turner b8f1d01b35 Add VK_Workgroup_Zoo unit tests for subgroup Broadcast/Shuffle ops
subgroupBroadcastFirst()
subgroupBroadcast()
subgroupShuffle()
2025-04-07 11:06:29 +01:00
Jake Turner aefb21fa36 Add D3D12_Workgroup_Zoo unit tests for Wave Vote operations
WaveActiveAnyTrue()
WaveActiveAllTrue()
WaveActiveBallot()
2025-04-07 11:05:07 +01:00
Jake Turner 001539a3cd Add VK_Workgroup_Zoo unit tests for subgroup Vote operations
subgroupAny()
subgroupAll()
subgroupBallot()
2025-04-07 11:05:07 +01:00
Jake Turner 038aee2459 Add D3D12_Workgroup_Zoo unit tests for Quad Shuffle operations
QuadReadLaneAt()
QuadReadAcrossDiagonal()
QuadReadAcrossX()
QuadReadAcrossY()
2025-04-06 14:38:13 +01:00
Jake Turner 7240cf8c57 Add VK_Workgroup_Zoo unit tests for Quad Shuffle operations
subgroupQuadBroadcast()
subgroupQuadSwapDiagonal()
subgroupQuadSwapHorizontal()
subgroupQuadSwapVertical()
2025-04-06 14:00:52 +01:00
Jake Turner 5e6cfd73a0 Add D3D12_Workgroup_Zoo unit tests for workgroup query functions
WaveGetLaneCount()
WaveGetLaneIndex()
WaveIsFirstLane()
2025-04-06 12:55:29 +01:00
Jake Turner e0f8f29fa7 Add VK_Workgroup_Zoo unit tests for workgroup query functions
gl_SubgroupSize
gl_SubgroupInvocationID
subgroupElect()
2025-04-06 12:50:08 +01:00
Jake Turner fdc2125e7b Add D3D12_Workgroup_Zoo convergence test with dynamic for loop
A different number of iterations per thread
2025-04-06 12:49:34 +01:00