Commit Graph
548 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 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 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 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 abba384d45 VK_Groupshared tests for OOB GSM memory access 2026-10-23 13:01:29 +01:00
baldurk 96ef1ae5f3 Remove Block declaration from BDA structs in asm shader test 2026-10-22 19:00:01 +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
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
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 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 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 06da5d1974 Set demo window title for vulkan tests 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
baldurk 18e4d44ec3 Log VkResult errors to demos log 2026-09-13 12:54:40 +01:00
baldurk 3cc984148c Put demos temp files in each demo's tmp directory 2026-09-11 17:27:36 +01:00
Jake Turner 033ce407b4 VK_Resource_Usage tweaks
- give names to: Queue, Framebuffer, Swapchain Image, Swapchain Image View, Shader Modules
- rename "barrerCmdSubmitFence" -> "barrierCmdSubmitFence"
- add a marker "Barrier Command Submit Fence"
2026-09-09 15:24:59 +01:00
Jake Turner 30c78d389a Add VulkanGraphicsTest::setName() overload for VkQueue & VkShaderModule 2026-09-09 15:24:59 +01:00
baldurk 69a9c09ecd Use correct clear colour for UINT discard texture 2026-08-26 09:23:58 +01:00
baldurk 752543e0fe Don't test 1D block compressed textures in vulkan texture zoo 2026-08-25 13:19:05 +01:00
Jake Turner e807742444 Tweak RenderPass setup/usage in VK_Resource_Usage
Use the mainWindow RenderPass everywhere
2026-08-10 07:25:32 +01:00
baldurk d0030787c6 Fetch inputs and allow debugging for VRS. Closes #3705 2026-07-27 17:10:14 +01:00
baldurk c6c8f807c9 Update VK_Image_Layouts test to check preinitialised data also 2026-07-24 17:52:48 +01:00
baldurk ccc110c57e Fix some validation errors in tests 2026-07-24 17:52:48 +01:00
Jake Turner 40d6d5fd8a Extend VK_Annotations test
- loose event annotation
  - a barrier at end of command buffer
  - at end of command buffer attached to vkEndCommandBuffer
  - command buffer with no actions, just set marker
- annotations before/during/after vkCmdDrawIndirectCount calls
2026-07-22 15:29:08 +01:00
Jake Turner a2d133c353 Change the DrawMeshIndirect parameters in VK_Resource_Usage 2026-07-22 06:02:26 +01:00
Jake Turner 48bb4350bd VK_Parameter_Zoo: add empty vkQueueSubmit before colour draws 2026-07-20 12:32:57 +01:00
Jake Turner b2948d3de5 VK_Pixel_History: add test for nested secondaries 2026-07-17 12:18:19 +01:00
Jake Turner 74d1241a55 VK_Indirect: add a large IndirectCount draw before execute secondary 2026-07-17 06:16:19 +01:00
Jake Turner 97a11ae6a9 Extend VK_Resource_Usage : execute an empty secondary command buffer 2026-07-16 12:13:37 +01:00
baldurk 0a1a33df51 Update vulkan headers to 1.4.356 2026-07-03 16:31:40 +01:00
Jake Turner b7a2290435 VK_Indirect unify indirect count marker name for Primary & Secondary
Primary was using KHR_action_indirect_count
Secondary was using KHR_draw_indirect_count
Standardise on KHR_draw_indirect_count
2026-06-05 16:16:24 +01:00
Jake Turner 44deaebd90 VK_Indirect test improvements
Check ALL overlays on ALL EIDs don't crash
Add some IndirectCount draws to VK_Indirect for testing overlays
Check overlays produce output and pixel history is not empty for each non-empty draw
Check overlays produce expected output for empty draws i.e. empty except for *Pass overlay modes
Check Quad Overdraw and Triangle Size overlays outputs match when comparing the Pass and Draw versions
2026-06-04 11:40:22 +01:00
Jake Turner 056c5779b1 Fix validation warning in VK_Indirect
VUID-VkDrawIndexedIndirectCommand-firstInstance-00554
If the drawIndirectFirstInstance feature is not enabled, firstInstance must be 0
2026-06-01 11:23:33 +01:00
Jake Turner 1cb44cb19d Fix validation error in VK_Indirect 2026-05-20 15:57:37 +01:00