Commit Graph

324 Commits

Author SHA1 Message Date
Steve Karolewics dcd7ad0c8a Fix incorrect logical identifiers for constant buffers with D3D12
The assignment of logical identifiers is not guaranteed to match the
order of appearance in the shader bytecode. Adjusted D3D12_CBuffer_Zoo
to exercise this for testing.
2020-03-06 10:04:39 +00:00
baldurk b0f0dad7fd Test that we can capture and replay VkPhysicalDeviceVulkan12Features
* This ensure we don't accidentally enable any features that aren't supported.
2020-03-05 19:35:45 +00:00
baldurk 7e0bab41ab Test for duplicate extensions in GL extension string 2020-03-05 19:35:45 +00:00
baldurk 2250e44ae6 Add test of D3D11 pixel history
* This doesn't test every edge case, but it is a simple smoke test that ensures
  any format can at least get consistent accurate results out.
* Further work is needed to test the different failures, overdraws, primitive
  IDs, and all the other specific checks in the history.
2020-03-05 19:35:45 +00:00
baldurk fac4367cae Fix RTVs referencing when using RTsSingleHandleToDescriptorRange 2020-03-05 12:08:58 +00:00
baldurk 2bf3a99630 Fix VK_Line_Raster test 2020-03-05 10:10:58 +00:00
Steve Karolewics a6c3177736 Add MSAA support to D3D12 PS debugging 2020-03-04 19:11:56 +00:00
Steve Karolewics a5583b83ee Add test for MSAA evals to D3D11_Shader_Debug_Zoo 2020-03-04 19:11:56 +00:00
baldurk 7e9b6ff70f Check vertex debugging results in Iter_Test
* Also never hard error on debug results, just print an error message for manual
  evaluation
2020-03-02 17:37:23 +00:00
baldurk 15ec327782 Fix typo in name of evaluate function 2020-03-02 17:37:23 +00:00
baldurk e38f6b106f Check cbuffer variables work in debugging as well in cbuffer zoo tests 2020-03-02 17:37:23 +00:00
baldurk 4873a9fdc3 Add missing calls to FreeTrace 2020-03-02 17:37:23 +00:00
baldurk 914dc88cd0 Pass signature index in source variable mapping, not builtin
* The builtin is more directly useful but the signature index allows us to match
  up inputs and outputs that don't have a builtin meaning (pure interpolators).
2020-02-25 18:19:52 +00:00
Steve Karolewics 3927d82e24 Improve D3D12 compute shader debugging
Added fetching of texture data for UAVs, to allow stores to occur.
Fixed issues with sample/gather when debugging a compute shader.
Added a demo for dispatch in D3D12.
2020-02-24 18:10:43 +00:00
baldurk aacf148201 Add test of creating an empty capture 2020-02-21 17:56:53 +00:00
baldurk 70913fdda5 Add test that GL multi-draw mesh output works with builtins 2020-02-21 17:56:53 +00:00
baldurk db04c797d1 Fix comparisons between single elements and tuples of one element 2020-02-21 17:56:53 +00:00
baldurk 81110ceca3 Fix accidental stomping of relative byte offsets in tests 2020-02-21 17:56:53 +00:00
baldurk 4ec8280ee8 Add test of KHR/EXT GL debug marker behaviour 2020-02-21 17:56:53 +00:00
baldurk 31e2447db4 Extract out some common code from GL_Simple_Triangle 2020-02-21 17:56:53 +00:00
baldurk b756423a8d Fix Iter_Test for new DebugVertex signature 2020-02-21 17:56:52 +00:00
Steve Karolewics c56373ed94 Add impls of GetBuffer/ResourceInfo for D3D12 shader debugging 2020-02-21 17:56:33 +00:00
Steve Karolewics dfbe7fb6bf Remove primitive ID usage from pixel shader debugging when invalid
SV_PrimitiveID is only valid as a pixel shader input if there's either
no geometry shader, or the geometry shader emits SV_PrimitiveID. With
D3D11, the debug layer will complain but rendering will proceed. With
D3D12, the PSO fails to compile. For both APIs, pixel shader debugging
now checks whether this is true, and disables its usage if it isn't.
Added tests for various valid scenarios with SV_PrimitiveID.
2020-02-20 19:06:22 +00:00
baldurk 83d77ea543 Improve formatting of Iter_Test output 2020-02-18 19:18:51 +00:00
baldurk 7dd38b49d7 Update vulkan headers to 1.2.133, SPIR-V metadata to latest 2020-02-17 15:17:52 +00:00
Steve Karolewics 58b1186362 Fix resource bindings when reflection info is stripped
The logical identifiers, rather than shader registers, were used to
populate reflection info, causing the wrong slots in large descriptor
tables to be referenced for the pipeline state.
2020-02-14 10:39:28 +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
baldurk 3e7273121f Fix numRows calculation in D3D12 texture zoo 2020-02-11 17:11:32 +00:00
baldurk a70be5bd98 Add missing sync in D3D12_Parameter_Zoo test 2020-02-11 17:11:32 +00:00
baldurk 76a88cc7a3 Add test of D3D12 render passes 2020-02-11 17:11:32 +00:00
Steve Karolewics 392d362ee8 Add a D3D12 test to exercise various resource mapping scenarios 2020-02-11 17:10:57 +00:00
Steve Karolewics ad69e791ad Add CBV support to D3D12ViewCreator 2020-02-11 17:10:57 +00:00
baldurk 40f4879496 Make debug pixel comparison epsilon slightly more forgiving 2020-02-06 17:58:42 +00:00
baldurk 511f82d897 Don't try to pixel debug for verifying depth output 2020-02-06 17:58:42 +00:00
baldurk c2e180ea28 Skip pixel debugging comparison in Iter_Test when writes are masked out 2020-02-06 17:58:42 +00:00
baldurk e012c82168 Update tests to use new interfaces 2020-02-06 17:58:42 +00:00
baldurk 530d7fbc12 Don't try to render triangle size for line or point draws 2020-02-05 15:17:46 +00:00
Steve Karolewics 67457bd784 Add a test for D3D12 shader debugging
This mimics the D3D11 shader debugging test, but performs the draws
twice - once with SM 5.0 and once with SM 5.1. The python test performs
the same checks as the D3D11 version, but is explicitly disabled since
D3D12 shader debugging is not yet enabled by default.
2020-02-04 19:11:17 +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 bb43ba45e3 Add test of newer resource creation methods in D3D12.4 2020-02-03 18:18:17 +00:00
baldurk 8bc4e4c719 Test that imageless framebuffer parameters are properly ignored
* This is kind of what VK_Parameter_Zoo is intended to test, but I don't want to
  add conditional extension tests in there unless there's nowhere else to put
  it, since it adds mental overhead to reading the code.
2020-02-03 18:18:17 +00:00
baldurk f427a7ce02 Test that repeated redundant calls for spin-sync aren't serialised
* If the application is calling e.g. vkGetFenceStatus() in a loop we don't want
  to serialise every call.
2020-02-03 18:18:17 +00:00
baldurk d7b61176c5 Don't save every queue creation in D3D12 device record
* Otherwise we try to create every queue that has ever existed on replay.
* Check for resource leaks in Resource_Lifetimes tests.
2020-02-03 18:18:17 +00:00
baldurk c3b6b6890e Add tests that shader ISA disasm works, including live driver output 2020-02-03 18:18:17 +00:00
baldurk 4df8ce7a02 Test VK_EXT_tooling_info in VK_Parameter_Zoo not VK_Simple_Triangle
* Keep the simple triangle really the bare minimum.
2020-02-03 18:18:17 +00:00
baldurk f18cf01671 test optional EXT_transform_feedback parameters in VK_Parameter_Zoo 2020-02-03 18:18:17 +00:00
baldurk d326d61b1e Add D3D12_Parameter_Zoo test to check edge-case parameters/interfaces 2020-02-03 18:18:17 +00:00
baldurk 09be5f4047 Fix structured export/import of initial states resource contents on GL 2020-02-03 18:18:16 +00:00
baldurk a98a8c49a7 Improve handling of multi-dimensional array input/outputs from shaders 2020-02-03 18:18:16 +00:00
Steve Karolewics 1dc4d5b15e Display the demos UI if argv[1] isn't a valid test 2020-02-03 18:18:03 +00:00