Commit Graph
1534 Commits
Author SHA1 Message Date
baldurk e3c29f80cd Fix normal validation issues in vulkan tests
* Missing usage flags, invalid state creation/setting, invalid combination of
  LOAD op and UNDEFINED layout, etc.
2026-11-10 12:02:46 +00:00
baldurk eb8d0450a0 Don't add duplicate validation features structs
* This can happen if the test itself adds VK_EXT_validation_features
2026-11-10 12:02:46 +00:00
baldurk 77b4d531e5 Disable OBS during tests - it introduces validation errors 2026-11-10 12:02:46 +00:00
baldurk a73b9214a5 Prefer using spirv-as for assembly SPIR-V assembly if possible
* Since we no longer can link shaderc we have external dependencies anyway, most
  likely from the vulkan SDK. shaderc has never fixed the inability to apply
  target env to shader assembly so this means we can specifically target some
  SPIR-V versions.
2026-11-10 12:02:46 +00:00
baldurk 0a04b74e63 Reduce the number of descriptor sets in VK_Descriptor_Variable_Count
* This goes below the limit of what GPUVA will handle as a number of draws by
  default in one command buffer.
2026-11-10 12:02:46 +00:00
baldurk b345046d4a Ensure we delete all resources before test shutdown 2026-11-10 12:02:46 +00:00
baldurk 0b15a71e88 Move extra renderpass dependencies to helper creator
* This means we get the same benefit of syncing with clears/copies in test-
  created renderpasses.
2026-11-10 12:02:46 +00:00
baldurk 31cad11e3d Enable features/extensions in vulkan tests that we use 2026-11-10 12:02:46 +00:00
baldurk 46ea9dc0d7 Mute a couple of validation messages on vulkan tests 2026-11-10 12:02:46 +00:00
baldurk 4b338b447b Add helper for setting environment variable values
* Needed for vulkan layer control
2026-11-10 12:02:46 +00:00
baldurk 3e143508ed Remove VK_EXT_Buffer_Address test
* This extension is no longer supported by VMA so doesn't run cleanly. We could
  fix it up to do everything manually, but there's little point as it's clear
  now that this extension had a short lifespan and limited support, and is
  unlikely to be in use today in significant manner. We still support it in
  RenderDoc of course, but there's not much value in testing it specifically
  (and it wasn't auto-tested before)
2026-11-10 12:02:46 +00:00
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 34fbfb4352 Add D3D11/Vk demos that do rasterization with no outputs
* They write directly to a buffer
2026-11-04 12:25:03 +00:00
Jake Turner bf6fe56c5b VK_Resource_Usage improvements
- add secondary commands buffers to Submit() calls so they get put back into the command buffer pool
- fix validation error about renderEndSemaphore
- fix sync validation errors
- add more names to objects
- fix some incorrect names
- move the pipeline bind to after marker "DrawIndirect: Single"
- add marker to start and end of EIDS which should be tracked for resource usage
- add a per frame update descriptorset
- bind compute descriptor sets before binding compute pipelines

- Remove hard coded EIDs from VK_Resource_Usage python
2026-11-03 10:52:15 +00:00
baldurk 31479b886a Ensure GL_Shader_Debug_Zoo is compiled into tests 2026-10-29 17:33:20 +00:00
baldurk 205bfd5e4f Check fully dynamic attachment setup doesn't break 2026-10-27 12:26:20 +00:00
baldurk 41a17ba6f7 Don't set shader path tag when not available 2026-10-27 12:22:57 +00:00
baldurk 7abab64151 Add a global value to GL_Shader_Debug_Zoo
* This produces unique debug info for 'executable' code
2026-10-27 11:51:39 +00:00
baldurk e8d39bb902 Add VK_Device_Address_Commands tests to CMakeLists.txt 2026-10-26 17:20:36 +00:00
baldurk 0384f09365 Add needed default argument for python function 2026-10-26 12:10:38 +00:00
baldurk 3ea44b8511 Add tests for separate debug info on D3D + Vulkan, and embedding 2026-10-26 11:47:28 +00:00
baldurk 948df720ad Remove linked shaderc support in demos - no longer supported
* shaderc doesn't build with VS2015 so can't be linked in.
2026-10-23 23:13:17 +01:00
Aidan Raymond 13324a0846 Add test for VK_KHR_device_address_commands and enable extension 2026-10-24 07:11:44 +09:00
Jake Turner b7f943f6c5 Use caseless string comparison for Demos test name matching 2026-10-23 13:01:30 +01:00
Jake Turner abba384d45 VK_Groupshared tests for OOB GSM memory access 2026-10-23 13:01:29 +01:00
Jake Turner f179aa01c9 D3D12_Groupshared tests for OOB GSM memory access 2026-10-23 13:01:29 +01:00
Jake Turner 1432f8ba7c D3D11_Groupshared tests for OOB GSM memory access 2026-10-23 13:01:29 +01:00
Jake Turner b4f1a9a0e7 UI Test Harness use case insensitive search for test filtering 2026-10-23 13:01:29 +01:00
Jake Turner 2c84beae9b D3D12_CBuffer_Zoo: do not check CBuffer array on SM6
- The DXIL debugger does not expand out CBuffer arrays into the debugger trace constantBlocks
2026-10-23 13:01:28 +01:00
baldurk 96ef1ae5f3 Remove Block declaration from BDA structs in asm shader test 2026-10-22 19:00:01 +01:00
baldurk 4d36d1eea2 Fix compile error in linux demos 2026-10-22 19:00:01 +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 729443d4fb Extend GL_Shader_Debug_Zoo tests for arrayed resources
- bounded UBO array
- bounded SSBO array
2026-10-19 11:46:50 +01:00
Jake Turner 6599a0d363 Extend VK_Shader_Debug_Zoo tests for arrayed resources
- bounded Uniform array
- unbounded array of Uniform, Buffer, Sampler and Tex2D
2026-10-19 10:33:10 +01:00
baldurk d0ea00bba1 Check for truncated flag presence or absence in cbuffer checks 2026-10-12 10:37:10 +01:00
Jake Turner 4288cec631 Do not validate ShaderVariable before/after for ConstantBlock types 2026-10-08 10:58:18 +01:00
Jake Turner e2b85b4622 Update the VK_Shader_Debug_Zoo tests for arrayed resources
- Access queryTests, queryTestsMS element one instead of zero
- add tests for texBuffers, storeTexBuffers
- initialize arrayed resources descriptors to bad values
- set the accessed array indices to good values
2026-10-06 08:44:43 +01:00
baldurk 91ea80af1d Display evaluated assertion expression if present 2026-09-30 12:29:31 +01:00
Jake Turner 6653194e69 Add a test to load through a bda pointer array to a member of a struct
OuterStruct { float4 a; float4 b; InnerStruct* pInner; }
InnerStruct { float x; float y; float z; }

OuterStruct is BDA in push constants
Code Access is OuterStruct->pInner[1].x
2026-09-28 09:11:14 +01:00
Jake Turner b299a12234 D3D12_Execute_Indirect: fix GPUVA Errors 2026-09-22 16:02:53 +01:00
Jake Turner b29e2cc987 Extend test coverage in Vk_Subgroup_Zoo
- gl_NumSubgroups
- gl_SubgroupID
- gl_SubgroupEqMask
- gl_SubgroupGeMask
- gl_SubgroupGtMask
- gl_SubgroupLeMask
- gl_SubgroupLtMask
- subgroupBallotInclusiveBitCount
- subgroupInverseBallot
- subgroupShuffleXor
- subgroupShuffleUp
- subgroupShuffleDown
- subgroupInclusiveAdd
- subgroupInclusiveMul
- subgroupInclusiveMin
- subgroupInclusiveMax
- subgroupInclusiveAnd
- subgroupInclusiveOr
- subgroupInclusiveXor
- subgroupExclusiveAdd
- subgroupExclusiveMul
- subgroupExclusiveMin
- subgroupExclusiveMax
- subgroupExclusiveAnd
- subgroupExclusiveOr
- subgroupExclusiveXor
- subgroupClusteredAdd
- subgroupClusteredMul
- subgroupClusteredMin
- subgroupClusteredMax
- subgroupClusteredAnd
- subgroupClusteredOr
- subgroupClusteredXor
2026-09-21 16:22:24 +01:00
Jake Turner cfa80924ef Extend test coverage in Vk_Workgroup_Zoo
- gl_SubgroupEqMask
2026-09-21 16:22:21 +01:00
Jake Turner a8270f72d7 Vk Tests make the parent tmp/ directory of the temporary directory 2026-09-21 16:21:35 +01:00
Jake Turner be2676ff56 Improve VK_Subgroup_Zoo tests
- compute any bitmasks using subgroupBallot() outside of flow control
- add tests for subgroupBallotBitExtract, subgroupBallotFindLSB, subgroupBallotFindMSB
2026-09-18 14:02:55 +01:00
baldurk 622625de7a Make sure link batch file goes to right directory 2026-09-17 11:44:07 +01:00
baldurk 06da5d1974 Set demo window title for vulkan tests 2026-09-15 17:00:54 +01:00
baldurk 510d16d900 Report more accurate data for Pixel history with discards & fragments
* For draws where some fragments discard, D3D12 & Vulkan currently can't
  distinguish which specific fragments did and didn't discard because they're
  processed batched in separate callbacks rather than incrementally like D3D11 &
  GL which can track a discarded offset by doing one stencil count at a time.
  This means we can't get primitive information or ordering, we only get a list
  of the passing fragments and a set of failing fragments.
* Note that on all APIs we also can't distinguish when instancing is present,
  because there could be multiple "identical" primitives from different
  primitives, some of which discard and some don't.
2026-09-15 17:00:54 +01:00
baldurk 49f3c76c57 Fix demos reference to device from window 2026-09-14 09:56:36 +01:00
baldurk 527f34614b vkDeviceWaitIdle workaround because presentation is broken 2026-09-13 12:57:43 +01:00