Commit Graph
59 Commits
Author SHA1 Message Date
baldurk 086b038d0b Add simple checks for large memory leaks
* Smaller memory leaks are harder to differentiate from noise, so we go for a
  large enough leak to be noticable over time (50,000 frames).
2021-01-19 15:22:12 +00:00
baldurk 7e5fc40779 Ignore number of captures made in D3D11_Swapchain_Zoo 2021-01-18 14:18:34 +00:00
baldurk 86ca794494 Add test to check ID3DDeviceContextState refcounting/rewrapping 2021-01-15 11:33:13 +00:00
baldurk 7ff7e0a71d Replace fixed C arrays with wrapper class in public interface
* These map more naturally to python tuples and are easier to wrap in and out.
* We also tidy up the FloatVecVal etc and standardise the members of
  ShaderValue.
2020-12-09 18:16:08 +00:00
baldurk 8be0da2ce3 Add a test of AMD shader operations 2020-11-04 17:48:49 +00:00
baldurk 53fc6ba089 Add test that feature level 9.x programs can be captured on D3D11 2020-10-21 14:36:16 +01:00
baldurk 9e17b91a94 Test different variations of DXGI swapchains on D3D11 and D3D12 2020-10-02 17:41:58 +01:00
baldurk 4518fda3ed Test entry points that could be applied to wrong resource types 2020-10-02 16:43:11 +01:00
baldurk a3b6adc303 Linux demos compile fix 2020-09-16 17:03:27 +01: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 0e7bdc4cc7 Fix python call to GetDisassemblyTargets 2020-09-04 10:43:36 +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
baldurk d4ddb565d0 Add a per-shader debuggable flag to allow finer grained status
* E.g. on D3D12 we can debug DXBC shaders but not DXIL shaders. On vulkan this
  will allow us to have the UI work better when encountering shaders with
  unsupported capabilities or extensions.
2020-06-18 17:22:45 +01:00
baldurk a0a373a8e1 Fix handling of buffer truncation and zero-sized buffers 2020-05-29 17:26:29 +01:00
baldurk 78335f7d00 Fix calculation of array stride on structs in D3D
# Conflicts:
#	util/test/tests/GL/GL_CBuffer_Zoo.py
2020-05-13 18:07:26 +01:00
baldurk 15fa728ab9 Fix handling of empty structs in D3D 2020-05-13 18:07:26 +01:00
baldurk 01ca197655 Fix tests broken with updated non-remapped postvs index data 2020-05-13 18:07:26 +01:00
baldurk bfcc484a7c Add tests of drawcall variants 2020-05-12 19:04:57 +01:00
Steve Karolewics 4c7f30e690 Created a D3D11 version of the shader linkage zoo test 2020-05-11 18:04:10 +01:00
baldurk f6ec10659d Tighten up comparisons in Resource_Lifetimes tests 2020-04-30 18:15:28 +01: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 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 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
Steve Karolewics a5583b83ee Add test for MSAA evals to D3D11_Shader_Debug_Zoo 2020-03-04 19:11:56 +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
baldurk aacf148201 Add test of creating an empty capture 2020-02-21 17:56:53 +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 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 e012c82168 Update tests to use new interfaces 2020-02-06 17:58:42 +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 1899b5ffc3 Pass size when fetching cbuffer variables 2020-01-27 20:45:08 +00:00
baldurk db0779e09b Add test for mesh view - vertex picking and mesh rendering 2020-01-21 18:28:55 +00:00
baldurk 11f1f30b46 Fix crash when mapping textures on deferred contexts 2020-01-20 12:23:47 +00:00
baldurk 86f39640d0 Add shader editing tests on D3D 2020-01-13 18:18:59 +00:00
Steve Karolewics a9a2c3e359 Add tests for viewing depth with ClearBeforeDraw.
Also updated documentation/README files to reflect the changes and
help others get up to speed on editing tests/documentation.
2019-12-20 20:11:53 +00:00
baldurk 77b5c391e9 Check that we handle padding and alignment around structs
* On all APIs structs are aligned up to 16-byte alignment, and on D3D as with
  arrays then elements coming after the struct can be packed into the padding
  after the last struct element.
2019-11-29 13:53:44 +00:00
baldurk 279a2ec69d Add texture zoo tests
* These tests ensure that texture rendering works correctly for all different
  types of texture types, and for all formats, across different APIs, including
  across a remote-proxy connection.
2019-11-26 17:38:27 +00:00
baldurk 273a87e606 Fix calculation of array byte stride for structs with padding in DXBC
* Instead of summing the members offsets, we set it to the offset of the last
  member plus the last member's size.
2019-10-25 18:29:30 +01:00
baldurk fef94ef012 Add more tests of raw/structured buffer debugging 2019-10-24 18:02:53 +01:00
baldurk a2df78369c Add test of denormal flushing to D3D11 shader debug zoo 2019-09-13 17:33:48 +01:00
baldurk 9627332667 Add a utility function to tests to pick a pixel and check its value 2019-09-05 20:33:25 +01:00
baldurk ee43d4377c Account for pipeline specialisation constants when reflecting shaders 2019-08-16 17:38:35 +01:00
baldurk 88189e316f End stream-out queries in ClearState(). Closes #1412
* Also add tests of stream-out and DrawAuto()
2019-06-12 19:07:22 +01:00
baldurk 2ff6adb659 Add tests of D3D11 and D3D12's mutable typed backbuffer formats 2019-05-27 14:12:07 +01:00
baldurk 4b1f527eaa Clean up D3D11 shader debugging test for easier processing, auto-test it 2019-05-27 13:58:08 +01:00