Commit Graph

1129 Commits

Author SHA1 Message Date
baldurk 1a6f62cecf Workaround new windows SDK not compiling on VS2015 2025-02-19 13:35:51 +00:00
baldurk f69ac73f1f Add demos that utilise groupshared memory in a simple way 2025-02-19 13:35:51 +00:00
baldurk ed27404d07 Add epsilon to VK_Pixel_History test 2025-02-14 17:33:57 +00:00
baldurk 08d2ad0294 Update vulkan headers to 1.4.307
* Trivial promotion of these extensions:
  - VK_KHR_depth_clamp_zero_one
  - VK_KHR_compute_shader_derivatives
2025-02-13 18:32:21 +00:00
baldurk cfefa5d5ef Add a test for new group ops 2025-02-10 17:52:31 +00:00
baldurk e38e2d4177 Fix VK_Descriptor_Index test declaring too large array
* This was variably sized so in practice we didn't use it, but the spec still
  requires us to respect the max sizes that could be used for the upper bound
  and this lead to the wrong texture being sampled on NV.
2025-01-25 15:59:31 +00:00
baldurk e1ff74fca6 Update valgrind suppressions 2025-01-17 11:39:52 +00:00
baldurk 4f91478f43 Switch installer custom action from jscript to vbscript
* MS has deleted vbscript because breaking things is fun, so we use jscript
  instead to do the weird replace of '#' so that numbers read from the registry
  can be compared to numbers
2025-01-14 17:54:54 +00:00
baldurk c8223f5869 Fix D3D12 descriptor indexing test for named descriptors 2025-01-14 12:18:31 +00:00
baldurk e692c30a05 Handle 16-bit types not being supported in demos project 2025-01-14 12:07:24 +00:00
baldurk f3f0617b37 Do extremely stupid version checking to workaround dxc nonsense in tests
* On a new enough dxc we can pass a flag to tell it to ignore dxil.dll
* This allows the tests to run on the test machine with an old windows SDK
  (where the demos project copies the dxcompiler.dll + dxil.dll from) but still
  pull in a new dxcompiler.dll without having it break on an old dxil.dll
2025-01-13 11:02:22 +00:00
baldurk b46b8d96cf Prefer using custom D3D12/ local dxcompiler.dll in demos project 2025-01-10 11:29:28 +00:00
baldurk 980b6a8bf0 Add test of SM6.7 bitfield reflection 2025-01-07 13:43:45 +00:00
baldurk 2d86fe6b12 Ensure log output is clean when listing available demos 2025-01-07 13:43:45 +00:00
baldurk 4d4fbdcaa3 Demos project loads D3D12.dll relative to exe not CWD 2025-01-07 13:43:45 +00:00
Jake Turner 75aeb4820a Add a D3D12 Shader Debug Zoo test for writing to an int[1] buffer
Extends debugger coverage for handling read/write buffer bounds
2025-01-02 13:09:24 +00:00
baldurk 9de148cfcf Allow customising runner timeout on command line 2024-12-17 14:32:55 +00:00
Jake Turner 69a0272e11 D3D12 Shader Debug Zoo : enable UAV Interlocked tests for DXBC
Switch to use RWBuffer<int> instead of RWTexture2D<int>
2024-12-16 12:16:28 +00:00
baldurk a11d673b3f Update test for descriptor names 2024-12-16 11:59:03 +00:00
baldurk ff04b1cc4d Update cmake in SPIR-V tools build for glslang yet again 2024-12-16 11:22:44 +00:00
Jake Turner f2d2d73d2e Add D3D12 Shader Debug tests for SM6.6 pack/unpack instructions
pack_u8
unpack_s8s32
2024-12-15 17:30:10 +00:00
Jake Turner a3633dea8d Add D3D12 Shader Debug tests for SM6.4 instructions
dot4add_i8packed
dot4add_u8packed
dot2add
2024-12-15 15:34:18 +00:00
baldurk 7fe2749b38 Add custom D3D12 interface for per-heap descriptor naming by index 2024-12-13 21:19:47 +00:00
Jake Turner a40d729bbe Use mad() intrinsic in D3D12_Shader_Debug_Zoo SM6+ tests 2024-12-10 17:36:30 +00:00
Jake Turner 8de06cf324 D3D12 Shader Debug Zoo : add a test for UAV Interlocked*
RWTexture<int>

InterlockedAdd
InterlockedAnd
InterlockedOr
InterlockedXor
InterlockedMin
InterlockedMax
InterlockedCompareExchange
InterlockedCompareStore
InterlockedExchange
2024-12-10 13:46:47 +00:00
baldurk 9d32418e33 Fix GL_Buffer_Updates to not rely on exact thumbnail 2024-12-10 00:06:39 +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
Jake Turner 23c7e1cfea D3D12 Shader Debug Zoo : add a test for Texture2D Store 2024-12-09 14:35:49 +00:00
Jake Turner 0fcecf0a15 D3D12_Shader_Debug_Zoo only do 16bit tests if runtime supports it
Check using Native16BitShaderOpsSupported
2024-12-09 12:50:43 +00:00
baldurk 8d04479d20 Add additional check on index buffer values being out of bounds 2024-12-03 15:01:58 +00:00
Jake Turner 4532b888ed Add SM 6.2 and StructuredBuffer<int16_t> to D3D12 Shader Debug Zoo test 2024-12-03 05:21:41 +00:00
Jake Turner 56fffb5dc2 D3D12 Tests add uint32_t compileOptions to Compile()
Current options are:
SkipOptimie : the default
Enable16BitTypes
2024-12-03 05:21:41 +00:00
Jake Turner a39c4cf1db D3D12 Pixel History do not copy depth for non-raster events
This can be invalid i.e. a ClearRenderTarget() no guarantee what/if a depth target is bound
2024-11-27 11:24:45 +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
baldurk 1c58364627 Update version of nvapi to R560 from github 2024-11-24 00:58:51 +00:00
baldurk 20d76052ee Fix incorrect parameter in D3D12 demos project 2024-11-24 00:58:50 +00:00
Jake Turner cb3bc8b528 D3D12 Shader Debug Zoo: added a test case for f32tof16() & f16tof32() 2024-11-20 16:28:33 +00:00
baldurk dea24cd5d8 Add BDA support to AllocatedBuffer in demos
* This requires setting vmaBDA to true, which is opt-in as it applies
  universally to all memory allocations in the test. We don't know if there are
  driver impacts from enabling BDA and it may also mess with our tests.
2024-11-20 15:49:53 +00:00
baldurk 9916defb14 Update VMA to v3.1.0
* We make BDA opt-in as it applies to all memory allocations.
2024-11-20 15:49:53 +00:00
baldurk 030f3430ee Workaround AcquireNextImage being awful
* Apparently the spec allows drivers to do extremely stupid things with
  swapchain images and return them even when it's not valid for you to use them
  yet because last frame's work to the image is still ongoing, which leads to a
  validation warning about using a semaphore when it might technically still be
  in flight.
* To get around this because AcquireNextImage doesn't actually block until an
  image is ready inspite of having a timeout and being expected to return a
  usable image it doesn't, we use a manual fence to do what AcquireNextImage
  should be doing.
2024-11-20 15:49:53 +00:00
baldurk 630d13a48e Fix descriptor race against ongoing GPU work in test 2024-11-15 17:22:32 +00:00
baldurk 322a0698f7 Fix use before build in demos project 2024-11-15 16:48:03 +00:00
Jake Turner 2d0ce14633 Iter Test skip pixel debug when no pixel shader bound at mod event 2024-11-15 13:19:00 +00:00
Jake Turner 84f6799444 Improve testcase _find_action
Search for the action with the closest EID to the request
Previously it would return the first action that was larger than the EID
2024-11-07 15:23:31 +00:00
Jake Turner dc27caaa08 Iter Test : pixel history and vertex debug changes
Do not pixel debug on an unknown primitive ID (-1)
Allow pixel debug and vertex debug on non-drawcall actions which have non-zero drawIndex i.e. Indirect draws
2024-11-07 15:23:27 +00:00
baldurk 8a6c3a73f7 Handle garbage descriptor set in vkCmdPushDescriptorSetKHR. Closes #3461 2024-10-25 10:37:38 +01:00
baldurk 3bd65816cf Add a demos test that uses RT with ASs 2024-10-19 01:21:47 +01:00
Jake Turner 9e747cd06b D3D12_Sharing log any errors when creating shared handle 2024-10-15 12:09:09 +01:00
baldurk b49e2e607f Add test of very short-lived RTV/DSV heaps 2024-10-03 16:32:09 +01:00
baldurk 8a394019fd Fix installer typos 2024-09-27 11:57:42 +01:00