Commit Graph
272 Commits
Author SHA1 Message Date
baldurk 4c5b209e6f Test constant buffer offsetting in cbuffer zoo tests 2020-03-20 16:16:52 +00:00
baldurk 7ff8a95205 Don't end stream-out queries twice 2020-03-20 16:16:52 +00:00
baldurk 59f06a12f0 Fix crashes with indirect count draws in secondary command buffers
* We need to patch the event count in both primary and secondary command buffers
  in this case
2020-03-19 17:16:19 +00:00
baldurk f8a6cbb0c7 Clear mips/slices in overlay on GL to avoid undefined contents 2020-03-19 17:16:19 +00:00
Steve KarolewicsandBaldur Karlsson 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 40611a3dde Test subresource rendering in overlay tests, remove png comparisons 2020-03-12 16:51:19 +00:00
baldurk b392c07d83 Add tests that use large vertex buffers 2020-03-11 18:00:53 +00:00
Steve KarolewicsandBaldur Karlsson c74edcebbd Fix array resource indexing with NonUniformResourceIndex 2020-03-11 18:00:31 +00:00
baldurk a56af589d9 Don't modify descriptor update template while writing. Closes #1765 2020-03-09 17:36:56 +00:00
Steve KarolewicsandBaldur Karlsson baa7adea30 Implement GetSampleInfo for D3D12 debugging 2020-03-09 10:56:56 +00:00
Steve KarolewicsandBaldur Karlsson 9b43481234 Prevent crash with OMSetRenderTargets in D3D12 2020-03-07 21:08:32 +00:00
Steve KarolewicsandBaldur Karlsson 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
Steve KarolewicsandBaldur Karlsson a6c3177736 Add MSAA support to D3D12 PS debugging 2020-03-04 19:11:56 +00:00
Steve KarolewicsandBaldur Karlsson a5583b83ee Add test for MSAA evals to D3D11_Shader_Debug_Zoo 2020-03-04 19:11:56 +00:00
Steve KarolewicsandBaldur Karlsson 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 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
Steve KarolewicsandBaldur Karlsson c56373ed94 Add impls of GetBuffer/ResourceInfo for D3D12 shader debugging 2020-02-21 17:56:33 +00:00
Steve KarolewicsandBaldur Karlsson 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 7dd38b49d7 Update vulkan headers to 1.2.133, SPIR-V metadata to latest 2020-02-17 15:17:52 +00:00
Steve KarolewicsandBaldur Karlsson 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 KarolewicsandBaldur Karlsson 392d362ee8 Add a D3D12 test to exercise various resource mapping scenarios 2020-02-11 17:10:57 +00:00
Steve KarolewicsandBaldur Karlsson ad69e791ad Add CBV support to D3D12ViewCreator 2020-02-11 17:10:57 +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 KarolewicsandBaldur Karlsson 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 KarolewicsandBaldur Karlsson 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 KarolewicsandBaldur Karlsson 1dc4d5b15e Display the demos UI if argv[1] isn't a valid test 2020-02-03 18:18:03 +00:00
Steve KarolewicsandBaldur Karlsson 9b72d79c06 UI improvements for the demos UI
Made the API filters inclusive, so that if any are checked, only the
selected ones are shown. If none are selected, then all tests are
shown as before. Moved the test name filter to the top pane, so that
it is always visible - before if you scrolled down in the test list,
it would be hidden. Added more room for test descriptions in the bottom
pane - long descriptions were previously truncated.
2020-01-31 20:08:25 +00:00
Steve KarolewicsandBaldur Karlsson 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 KarolewicsandBaldur Karlsson 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