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