Commit Graph
67 Commits
Author SHA1 Message Date
baldurk a6ad1313fd Move D3D12 test to use common pixel history test framework 2025-10-27 11:50:35 +00:00
baldurk a92e0d2669 Ensure capabilities are properly cached when only prepared once 2025-09-30 11:26:01 +01:00
baldurk 8864a1d81e Improve time listing available demos
* Remove redundant repeated calls when preparing multiple tests
2025-09-29 16:40:15 +01:00
baldurk 41e9f3c426 Add a demo project with extremely high overlap/sparseness buffers
* For stressing memory overhead in buffer initial states
2025-09-29 16:37:45 +01:00
baldurk 2381c2669d Add support in tests for compiling with separate shader debug info 2025-09-22 14:21:56 +01:00
baldurk 872752cd51 Add version check for -select-validator which was annoyingly removed 2025-09-22 14:21:36 +01:00
baldurk cda6da6945 Enumerate supported shader model in demos a bit more tightly 2025-09-22 13:49:51 +01:00
baldurk 2322e165de Update copyright years to 2025 2025-03-14 18:54:37 +00:00
baldurk e7f400e4f3 Add D3D12 handling of swizzled UAV loads/stores 2025-02-21 13:46:58 +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 4d4fbdcaa3 Demos project loads D3D12.dll relative to exe not CWD 2025-01-07 13:43:45 +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
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
baldurk 20d76052ee Fix incorrect parameter in D3D12 demos project 2024-11-24 00:58:50 +00:00
baldurk 3bd65816cf Add a demos test that uses RT with ASs 2024-10-19 01:21:47 +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
baldurk f689b23024 Don't run D3D12 singleton device test if we're using new device creation 2024-09-13 13:22:03 +01:00
baldurk 7db141c77b Implement bindless feedback for samplers on D3D12. Closes #3387 2024-07-22 16:17:10 +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
baldurk 9f4f0e6aa1 Update copyright years to 2024 2024-02-12 11:04:52 +00:00
Steve Karolewics e1516fa521 Add D3D12 pixel history test
This is a basic test that mirrors the Vulkan pixel history test,
but repeats draws multiple times to verify SM5.1 and SM6.0.
SM6.6 should be tested as well for writes from direct heap access
but is not yet implemented differently than SM6.0.
2023-10-10 11:50:55 +01:00
baldurk 9d39b8e1a8 Reformat code for clang-format 15 2023-09-05 11:02:08 +01:00
baldurk 7f8e14fb65 Add some helpers to make minimal templates for each autotest API 2023-06-15 11:25:27 +01:00
baldurk d47e79ae07 Update copyright years to 2023 2023-02-01 12:23:32 +00:00
baldurk 7d9a1a05b8 Correctly handle programs that don't create graphics queues 2022-06-21 15:31:41 +01:00
Benoit Dumesnil 2ace1fe84d Add test of D3D12 bindless feedback for shadermodel 6.6. 2022-03-21 11:30:47 +00:00
baldurk fcdea67879 Update copyright years to 2022 2022-02-17 17:38:32 +00:00
baldurk 22d4dc4574 Don't create temporary device if D3D12 is not supported 2021-11-26 10:59:22 +00:00
baldurk 81b4d3d804 Add public domain md5 library and implement modified DXBC container hash
* This allows us to disabled any requirement for "experimental shaders".
2021-07-07 19:18:32 +01:00
baldurk 732ccb2d89 Fix D3D12_AMD_Shader_Extensions test for DXIL support
* We can't build with -O0, it has to be at least -O1 for DXIL. We also need -Ges
  / strictness on both builds.
2021-05-10 17:02:49 +01:00
baldurk 2af11c5395 Add test of AMD extensions in D3D12 2021-04-30 16:41:17 +01:00
baldurk 9c29ae6393 Check for SRV/UAV typed access to 16-bit types
* This is possible on D3D11 but only with certain cap bits, it's simpler to test
  on D3D12 and the DXBC debugger will go through the same path for both.
2021-04-29 16:50:12 +01:00
baldurk 26aa09c665 Refactor D3D12 tests to check for options once in Prepare 2021-04-29 12:52:28 +01:00
baldurk f5a99d47a2 Update D3D headers in test project 2021-01-13 14:25:54 +00:00
baldurk 026da176bb Update copyright years to 2021 2021-01-13 13:56:10 +00:00
baldurk fdeea5204d Refactor and optimise D3D11 refcounting implementation
* In heavy D3D11 workloads the refcounting overhead especially during fast
  binding changes was significant. Refactoring the refcounting to work on a
  different model and deferring destruction of objects removes most of the
  overhead.
2020-09-10 13:35:32 +01:00
baldurk 9ce60a0b6e Test that OpenExistingHeapFromAddress can be captured and replayed 2020-07-29 15:39:04 +01:00
baldurk 02a54be6ad When replaying resource discards fill with explicit pattern. Closes #284
* This helps catches cases where a discarded image is accidentally used and in
  many cases may still have valid data. Particularly on Vulkan this is relevant
  for DONT_CARE renderpass load and store ops.
2020-07-13 17:29:11 +01:00
Steve Karolewics 270700c290 Fix reporting of DXC errors in test app
Fallback to compiling without -Qembed_debug if it fails, to support
older Windows 10 SDKs
2020-07-01 10:45:40 +01:00
baldurk 631b56a04e Add support for compiling with dxcompiler in tests 2020-06-18 17:22:44 +01:00
baldurk b8f83fca4c Add helper for blitting to swapchain in demos
* This isn't needed for testing but it's convenient to get simple window output
  even when we need to be writing to an F32 target
2020-05-11 18:04:22 +01:00
baldurk d279d6dcd2 Silence D3D debug layer spam by including NULL terminator 2020-04-02 18:15:44 +01:00
Steve Karolewics 67447b7b7e Improve handling of resource arrays for D3D12
When getting read only resources from the pipe state, stitch back up
according to the bindpoint mappings. When displaying resources in UI,
don't traverse unbounded arrays. Fix resource swizzle on load/sample/
gather instructions, which happens on fetch result, not on the source
operand. Added more tests for unbounded arrays and different ways to
index into arrays.
2020-03-16 20:01:30 +00:00
baldurk b392c07d83 Add tests that use large vertex buffers 2020-03-11 18:00:53 +00:00
baldurk fac4367cae Fix RTVs referencing when using RTsSingleHandleToDescriptorRange 2020-03-05 12:08:58 +00:00
baldurk 06570ea7ad Remove backbuffer comparisons from test suite, simplify default triangle
* It's not particularly scalable and can be brittle to driver changes, and we
  can use targeted specific pixel tests to check what we really want - to see if
  the output has rendered correctly.
* Overlay tests still check files directly - this is a future refactor to
  remove.
2020-02-11 17:11:33 +00:00
Steve Karolewics bd04112dd4 Add a non-shader-visible heap to D3D12ViewCreator for clearing UAVs 2020-02-04 19:11:17 +00:00
baldurk c3b6b6890e Add tests that shader ISA disasm works, including live driver output 2020-02-03 18:18:17 +00:00