1113 Commits

Author SHA1 Message Date
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
baldurk a342fcbe30 Add dxcompiler.dll to installer 2024-09-27 10:46:25 +01:00
Jake Turner 982f464eee Do not call end_section when a shader debug pixel comparison test fails 2024-09-20 17:44:25 +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