202 Commits

Author SHA1 Message Date
Jake Turner 2287790c41 Extend VK_Resource_Usage test: multiple usages, desc buffer copying
- Bind the same resource as the Indirect Buffer and the Index Buffer
  - Defines the resource usage when an indirect command binds the same resource for multiple usags i.e. Indirect + Index Buffer
- Descriptor buffer contents set by earlier command buffer than usage in a single submit
  - Verifies the resource usage submit replay is correct (one command buffer at a time)
2026-04-23 16:14:13 +01:00
Jake Turner 0384c64d81 Fix submit semaphores in VK_Resource_Usage test
Fix validation layer errors
2026-04-22 12:24:34 +01:00
Jake Turner 15dfa312da Extend VK_Resource_Usage test: multiple command buffer submit/exec
Execute multiple secondary command buffers at once
Test loose events (barriers) on nested secondary command buffer, secondary command buffer which is submitted multiple times and a command buffer which is submitted multiple times
Submit the same command buffer multiple times
2026-04-21 10:39:23 +01:00
Jake Turner e4a3fdce0f Extend VK_Resource_Usage test
IndirectDrawCount
Loose events (barriers) after actions
2026-04-16 15:57:22 +01:00
Jake Turner 022a63e1bc Remove extra rdtest.log.end_section in VK_Mesh_Shader
Fixes HTML output
Move the other VK_Mesh tests over to use "with rdtest.log.auto_section" construct
2026-04-09 09:42:33 +01:00
Jake Turner 3cbf516e5f Extend VK_Resource_Usage test
* Descriptor Set: IndirectDraw, IndirectDrawIndexed, IndirectDispatch
* Secondary Command Buffer: Descriptor Set: IndirectDraw, IndirectDrawIndexed, IndirectDispatch
2026-04-08 13:57:33 +01:00
Jake Turner fb8d1e0ed8 Extend VK_Resource_Usage test
A specific demos test instead of using the VK_Simple_Triangle demo

* No Descriptor Set: Draw, DrawIndexed
* Descriptor Set: Draw, DrawIndexed
* Descriptor Buffer: Draw, DrawIndexed
* Secondary Command Buffer: No Descriptor Set: Draw, DrawIndexed
* Nested Secondary Command Buffer: No Descriptor Set: Draw, DrawIndexed
* Descriptor Set: Compute Dispatch
* Descriptor Buffer: Compute Dispatch
* Secondary Command Buffer: Descriptor Set: Compute Dispatch
* Nested Secondary Command Buffer: Descriptor Set: Compute Dispatch
2026-03-31 15:49:46 +01:00
Jake Turner e53f27ef06 Added VK_Resource_Usage to check resource usage without a replay 2026-03-19 16:03:56 +00:00
baldurk aebb1f90ee Fix AoS output in mesh viewer being incorrect with mesh shaders
* This would generally only come up with gl_PerVertex, and was hidden before
  because gl_Position is the first member. It likely would also reproduce if a
  user had a struct output from the mesh shader.
2026-03-16 15:12:30 +00:00
Jake Turner 337f5f20e5 Update VK_Parameter_Zoo test to macth the extra submit in the test 2026-03-13 17:31:17 +00:00
Jake Turner b243f125d9 Removed unused comment and code from VK_Custom_Resolve test 2026-03-05 08:43:39 +00:00
Jake Turner 2fa0d466e4 Change VK_Custom_Resolve test to check for pre/post mod validity 2026-03-03 16:53:14 +00:00
Jake Turner 1cd63c2d6c Added VK_Custom_Resolve test
RenderPass and Dynamic rendering for MSAA 4x target with a custom resolve shader
2026-03-02 12:49:17 +00:00
Jake Turner 1bd80b13cc Extend VK_Mesh_Shader tests for struct arrays, struct in a payload 2026-02-04 13:25:18 +13:00
baldurk bd78fcc473 Update multiview test to check shader exported viewport
* This also has code to support the qcom implicit viewport, but we disable that
  path by default since it would break all the single-viewport tests.
2026-01-30 18:11:41 +00:00
baldurk 965d1c9568 Add demo tests for annotations 2026-01-28 14:42:11 +00:00
Jake Turner 9c4a62397e Make VK_Shader_Debug_Zoo fail test not just error
Compute tests were resetting "failed" to False
2026-01-27 16:16:29 +13:00
Jake Turner 7782bc3452 Make VK_Graphics_Pipeline debugged pixel test fail instead of an error 2026-01-08 06:57:56 +13:00
Jake Turner 97755b5ebb Test cases for VK_KHR_compute_shader_derivatives
dFdx, dFdy, dFdxFine, dFdyFine, dFdxCoarse, dFdyCoarse

OpImageQueryLod (textureQueryLod)
OpImageSampleProjImplicitLod (textureProj)
OpImageSampleImplicitLod (texture)
OpImageSampleDrefImplicitLod (textureProj)
2025-11-26 11:40:22 +13:00
baldurk d8fa6a1747 Revamp vulkan pixel history test to cover more cases
* The test is also written generically to be applied to other APIs uniformly
2025-10-27 11:50:35 +00:00
Jake Turner fc2c080a77 Remove unused cycles variable in VK_ShaderDebugZoo 2025-09-24 14:01:30 +01:00
baldurk a05fd08a1c Add support for VK_KHR_maintenance6. Closes #3602 2025-08-25 11:36:01 +01:00
baldurk 3e70a37fac Add test of descriptor buffer 2025-07-09 09:57:56 +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
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 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
Jake Turner f50c85173b Unified Subgroup_Zoo VK and D3D12 python
Improved test failure reporting
2025-04-02 08:43:30 +01:00
Jake Turner 7f4098d835 Add vk_subgroup_zoo tests for maximal reconvergence behaviour
Diverged threads which re-converge at expected points
2025-03-23 12:00:53 +00:00
Jake Turner 7eef20b3db Added demos test VK_Mesh_Shader
Similar on d3d12_mesh_shader test, move some helper code from d3d12_mesh_shader python to testcase.py to allow for sharing with vk_mesh_shader python
2025-03-20 13:52:17 +00:00
baldurk 9bdb5bc134 Add D3D12_Subgroup_Zoo test 2025-03-19 18:31:56 +00:00
Tristan Ritchie 2eade4650b Add support for VK_KHR_maintenance5 2025-03-19 15:43:08 +00:00
baldurk ed27404d07 Add epsilon to VK_Pixel_History test 2025-02-14 17:33:57 +00:00
baldurk cfefa5d5ef Add a test for new group ops 2025-02-10 17:52:31 +00:00
baldurk aa30ac2c10 Don't overlap storage with multiple inline UBO updates in one template
* Previously we were writing the inline UBO data to the same byte storage
  meaning the last update's data would write over all updates.
2024-12-09 16:19:20 +00:00
Cam Mannett 7b767c9e6e Preliminary Vulkan AS/RQ test
This test renders a small triangle that casts a shadow from a point light, onto a larger triangle.  The test runner then checks that various pixels in the final output are the correct colour.

There is also an arbitrary AS copy in the render loop just to hit more API coverage when manually capturing, but the test runner doesn't check its output.

Core test work originally done by martyn.jacques@arm.com
2024-11-25 13:09:22 +00:00
Jake Turner 141354a2a4 Extended VK_KHR_Buffer_Address test to cover #3346
One extra draw from GPU memory which doesn't change and is unmapped during the draw loop
2024-06-11 12:05:27 +01:00
baldurk 9a18e871e5 Add testing of aliased bindings with descriptor feedback. Refs #3288 2024-04-10 18:58:53 +01:00
baldurk 9de4a79859 Update tests to new descriptor interface 2024-04-10 18:58:52 +01:00
baldurk beefd5b044 Fix descriptor set index reference in VK_Graphics_Pipeline test 2024-04-03 12:40:22 +01:00
Jake Turner b36b7cf6b8 Vulkan Multi-view test
Vertex shader output Red for view 0, Green for view 1, fragment shader does not use viewIndex.
Fragment shader output Red for view 0, Green for view 1, vertex shader does not use viewIndex.
Geometry shader output Red for view 0, Green for view 1, vertex and fragment shader do not use viewIndex.

Python checks vertex and pixel shader debug output against replay rendering output
2024-03-13 07:58:48 +00:00
Jake Turner 7934d1d16e Change DebugPixel() to take a DebugShaderInputs struct
DebugShaderInputs struct contains existing the parameters:

sample
primitive

and a new parameter

view

Default constructor for DebugShaderInputs sets the parameters to NoPreference (~0U).
2024-03-13 07:58:48 +00:00
Jake Turner 932d1b1754 Basic Test for VK_KHR_Buffer_Address
Compare the pixel shader debugger result against the GPU rendered output
Compare the vertex shader debugger results against the postVS output
2024-01-17 08:24:51 +00:00
Jake Turner baa5999582 Extend Vk Pixel History tests
Check the post mod stencil at pixel location 110,100
Check the post mod stencil is unknown at pixel location 275, 260 for fragment zero of a multi-fragment event

Validate that in a fragment event the postMod stencil value should be unknown (-1 or -2)
2023-12-31 08:41:23 +00:00
Jake Turner 18a28eb8dc SPIR-V shader debug OpSwitch tests
Test with selector and literal of different types "int", "uint", "long", "ulong"
2023-12-13 10:24:47 +00:00
baldurk 0d9ea809dd Fix some test failures by consistently stripping gl_PerVertex_Var prefix 2023-11-17 18:47:47 +00:00
Jake Turner 3fbf060894 Test for very large variable sized descriptor binding
New Binding 3
Initial size is UINT32_MAX
Updated to be sized DESC_ARRAY3_SIZE
Used in the shader to ensure the binding is referenced

Stress tests the FetchShaderFeedback code when it computes the maximum size of feedbackStorageSize.
2023-11-01 14:53:06 +00:00
baldurk 1bfe6d1492 Add dedicated test for VK_Counters so GPU duration isn't degenerate
* Some cards run it so fast that the triangle takes "0" microseconds
2023-09-12 21:53:23 +01:00
William Pearson 71e886cecc Add demo/test for many primitives hitting the same pixel in one drawcall 2023-08-09 10:58:04 +01:00
baldurk cc3d383287 Manually check depth bounds test in vulkan pixel history 2023-04-14 16:08:10 +01:00