Commit Graph
41 Commits
Author SHA1 Message Date
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
Steve Karolewics b2150e901f Fix D3D12 sharing test when the adapters used by D3D11/D3D12 differ
D3D11 may default to a different adapter than D3D12. For the sharing
test, both adapters must be D3D12 compatible. Tell D3D11 to use the
adapter that D3D12 is using to ensure compatibility.

Also fixed a memory leak in the test.
2020-01-31 20:08:25 +00:00
Steve Karolewics 2f7b260d39 Try creating a device with successive adapters until one succeeds.
On laptops with integrated+discrete adapters, adapter 0 may not
support D3D12, so a default create device call will fail. Adapters
other than the 0th one need to be specified explicitly.
2020-01-31 20:08:25 +00:00
baldurk 14b3a06361 Add test of D3D12 ExecuteIndirect 2020-01-22 19:05:53 +00:00
baldurk 9dc53d4dd1 Add a test of D3D12 sharing resources 2020-01-21 18:28:57 +00:00
baldurk 2916c0f9f7 Update copyright years to 2020 2020-01-06 16:20:45 +00:00
baldurk e353fd1a00 Fix WARP use on D3D12 2019-11-20 22:58:08 +00:00
baldurk aa7c2170b9 Add D3D12 test command line parameter to enable GPUVA 2019-11-20 18:53:00 +00:00
baldurk ff309d8c54 Add helpers for setting markers on D3D12 2019-11-20 18:53:00 +00:00
baldurk 061a376901 Fix D3D12 tests to run on D3D12On7 2019-08-29 10:20:38 +01:00
baldurk ec8564642a Refactor demo API test initialisation order
* Instead of only doing a very lightweight check to see if the API is available
  up-front, we now share the API initialisation among all API tests far enough
  to determine availability of extensions, features, etc. Then we can precisely
  determine which tests are available and which aren't before running.
2019-05-23 13:18:37 +01:00
baldurk ccd5ba218e Explicitly shutdown only the running test, instead of using destructors
* The tests are global objects so there's a potential ordering issue of
  destroying these tests after RenderDoc's global destructors have run.
2019-04-04 15:50:34 +01:00
baldurk 86ff87863e Update copyright years to 2019 2019-02-01 18:32:13 +00:00
baldurk 8c946c67e0 Fix memory leak in D3D12 tests, sync GPU and reset allocator each frame 2019-01-08 11:29:28 +00:00
baldurk b9f5ecaaa8 Add GPU selection on command line to VK/D3D11/D3D12 tests 2018-12-11 19:57:22 +00:00
baldurk ab89b074d2 Support texture SRVs with swizzle/planeslice parameters on D3D12 2018-12-11 19:57:21 +00:00
baldurk 7908577cce Fix refcounting in D3D tests, don't lose ref creating COM smartptr
* If we create in a bare pointer then just cast to a smart pointer, it adds a
  ref instead of stealing it. Just only allow creating smart pointers in the
  first place.
2018-12-04 23:54:39 +00:00
baldurk a9151a8c0b Add testing framework useful for automated testing
* Built entirely independently of the main renderdoc build (for now).
* Contains python scripts & framework for running tests on a renderdoc build,
  which will be run nightly.
2018-11-29 14:47:20 +00:00