Commit Graph
802 Commits
Author SHA1 Message Date
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 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
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
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 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
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
Cam MannettandBaldur Karlsson 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 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
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 70cadc8f81 Don't rely on device sharing when not singleton device 2024-09-20 13:30:32 +01:00
Jake Turner 42a1b4e641 For Test D3D12_Sharing validate the D3D12 Drawcall results
In addition to the Copy results
2024-09-18 12:45:55 +01:00
Jake Turner 33fb099a37 D3D12GraphicsTest print shader compile error message correctly
Error string is not NULL terminated, use GetBufferSize() to determine how many characters to print
2024-09-18 12:32:45 +01:00
Jake Turner 0f8ad0d1fe Conditionally test SM 6.0, 6.6 in D3D12_Shader_Debug_Zoo
Added SM 5.0 to the basic compute shader debug test
2024-09-16 09:36:37 +01:00
baldurk 51baf8a6af Add test of implicit compute shader root signature 2024-09-13 13:22:03 +01:00
baldurk 457e91f194 Make sure root signatures *precisely* patch between HLSL and code
* Also don't finish with the backbuffer too early and re-bind VB after execute
  indirect.
2024-09-13 13:22:03 +01:00
baldurk f689b23024 Don't run D3D12 singleton device test if we're using new device creation 2024-09-13 13:22:03 +01:00
Jake Turner 8745c399ad Extended existing shader model coverage to include 6.0, and 6.6
Added Compute shader test for SM 6.0 and SM 6.6
Added very basic vertex shader test to the triangle rendering for each SM
2024-09-10 14:59:03 +01:00
baldurk 178b733001 Add helper for loading a shader module from disk in tests 2024-09-09 14:45:30 +01:00
baldurk 076e07912d Add test of implicit embedded root signatures 2024-09-03 15:00:35 +01:00
Jake Turner 84786aea20 Demos test D3D12_Shader_Mesh 2024-07-24 13:21:57 +01:00
baldurk 7db141c77b Implement bindless feedback for samplers on D3D12. Closes #3387 2024-07-22 16:17:10 +01:00
Jake Turner 67777f16af Change D3D11/12 Shader_Debug_Zoo to use 32x32 mipmapped texture
32 x 32 means the mip count (5) is different to the MSSA count (4)
2024-07-03 11:14:01 +01:00
baldurk 01384c4d42 Update vulkan headers to 1.3.288
* Add support for VK_KHR_shader_relaxed_extended_instruction which is trivially
  supportable
2024-06-24 12:48:13 +01:00
Jake Turner e8ecf2cccb Added D3D11 Pixel History test for pixel shader UAV Write 2024-06-20 11:55:30 +01: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 f8b5c42100 Add a command line argument to the demos project to load a DLL
* We also automatically check for a DLL under /D3D12/ next to the executable
2024-05-02 18:30:46 +01:00
Jake Turner 8b534e8f18 Demos: Fix validation errors in D3D12_Compute_Only 2024-04-24 09:02:32 +01:00
baldurk 72095b8302 Create proper NULL descriptors for empty bindings in reflection zoo 2024-04-22 13:44:46 +01:00