Commit Graph
75 Commits
Author SHA1 Message Date
baldurk 38abf04909 Set up python script to run VK shader debug tests
* Since we expect many more tests it also runs the test texture in a 2D grid
  with N drawcalls
2020-04-07 17:43:30 +01:00
baldurk 5e2de7dd34 Fix issues switching between mips with overlays on vulkan 2020-04-07 14:05:43 +01:00
baldurk 230cf69761 Test integer division by zero in DXBC debugging 2020-04-01 17:18:59 +01:00
baldurk 7ff8a95205 Don't end stream-out queries twice 2020-03-20 16:16:52 +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 Karolewics baa7adea30 Implement GetSampleInfo for D3D12 debugging 2020-03-09 10:56:56 +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 aacf148201 Add test of creating an empty capture 2020-02-21 17:56:53 +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 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 c3b6b6890e Add tests that shader ISA disasm works, including live driver output 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
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 9dc53d4dd1 Add a test of D3D12 sharing resources 2020-01-21 18:28:57 +00:00
baldurk db0779e09b Add test for mesh view - vertex picking and mesh rendering 2020-01-21 18:28:55 +00:00
baldurk 2ecee8fc54 Fix D3D error in D3D11_Deferred_Map 2020-01-20 14:57:00 +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
baldurk a05622b37e Force stencil swizzled output to only output green
* On some GPUs the stencil output comes in all channels, not just green, and
  it's unclear if this is legal or not. To be safe just mask out the green we
  expect.
2020-01-08 19:10:51 +00:00
baldurk 2916c0f9f7 Update copyright years to 2020 2020-01-06 16:20:45 +00:00
baldurk f8ff6b4f6c Fix parameters for rendering 3D depth images in texture zoos 2019-12-12 17:58:51 +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 f7e5199cf4 Clamp out-of-bounds undefined results for resinfo 2019-11-27 11:02:25 +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 b222d6388c Don't flush bufinfo/resinfo opcodes
* The input miplevel is an integer even if the outputs are floats. The outputs
  won't be denormal as they're dimensions etc.
2019-11-22 15:08:16 +00:00
baldurk 9de4931213 Don't ever flush immediate values in shader debugging
* We assume that fxc won't output a denormalised float in the bytecode, and this
  prevents us from flushing integer inputs to otherwise flushable float-type
  operations
2019-11-22 14:59:18 +00:00
baldurk bda6066737 Allow specifying rasterized stream for creating geom shaders 2019-11-20 18:53:00 +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 c40c97558a Add helper to set wide-string name on objects 2019-10-25 18:29:30 +01:00
baldurk 85b7f88737 Don't throw an error when specifying unused view parameters 2019-10-25 18:29:30 +01:00
baldurk 43432a4650 Add D3D11 test helper for setting rasterizer state 2019-10-24 18:02:54 +01:00
baldurk fef94ef012 Add more tests of raw/structured buffer debugging 2019-10-24 18:02:53 +01:00
baldurk 8060693188 Fix byte address buffer access in shader debugging 2019-09-17 14:08:48 +01:00
baldurk 6d282f90d9 rename TEST macro to un-confused visual assist
* Visual assist comes with a pre-defined interpretation of TEST() for
  googletest, which conflicts with ours. We can't seem to override it with a
  va_stdafx.h even
2019-09-17 12:40:00 +01:00
baldurk a2df78369c Add test of denormal flushing to D3D11 shader debug zoo 2019-09-13 17:33:48 +01:00
baldurk 272f993138 If a test already isn't available, don't overwrite that error 2019-08-14 14:15:52 +01:00
baldurk 08de2623f8 Add proper feature check for D3D11 test 2019-08-09 11:39:51 +01:00
baldurk cb9b82899c Fix D3D11_Mip_RTV test 2019-08-09 11:30:30 +01:00
baldurk 534f39c723 Don't try to populate maps from dirty resources with no initial contents
* If a buffer has been marked as dirty mid-frame but wasn't dirty at the start
  of the frame then it won't have initial contents. We have to treat it as if it
  wasn't dirty and fall back to using our existing data for it, assuming that is
  a valid way to pre-populate the map's shadow buffer.
2019-07-02 16:57:12 +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
baldurk 5f6be4c10b Fix old main() test signatures 2019-05-27 13:30:03 +01:00
baldurk bdf7213613 Add tests for edge-case vertex attributes & interpolators
* Tests that we can pass integer, double, matrix, array values through the
  vertex pipeline and query the correct values at each stage.
2019-05-24 17:12:55 +01:00
baldurk 8d12dfc3e3 Avoid need to re-state test name in REGISTER_TEST() macro
* At the same time while changing this we ensure all tests are prefixed.
2019-05-24 12:08:24 +01:00
baldurk 4cec51ff6a Use demo project name to determine test availability
* This is better than testing by platform/platform version, because we can check
  specifically for extensions and avoid running a test we know will fail because
  extensions aren't supported.
2019-05-23 14:03:47 +01:00