65 Commits

Author SHA1 Message Date
baldurk b34c325f24 Make Iter_test.py load-and-runnable in the UI without breaking autotests 2020-01-14 18:02:10 +00:00
baldurk 1758b32045 Add a test of callstack collection 2020-01-13 19:04:44 +00:00
baldurk 86f39640d0 Add shader editing tests on D3D 2020-01-13 18:18:59 +00:00
baldurk 5255db7966 Handle tkinter not importing and disable relevant test. Closes #1668 2020-01-08 19:15:52 +00:00
baldurk 72cd54aa0b Only import tkinter when needed
* Otherwise this could fail if tkinter isn't available on platforms where we're
  not even going to run the test
2020-01-08 19:10:51 +00:00
baldurk 8f909275a7 Add tests of RGP capturing 2020-01-07 17:59:10 +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 0773f13949 Ensure re-used handles in descriptor sets don't cause problems
* Previously if a handle was reused, and then a stale descriptor referencing the
  old handle was removed it would remove the *new* object from the list of
  referenced resources. This could cause a resource to be not included in a
  capture if nothing else added a new reference.
2019-12-12 17:58:52 +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 db563bb0bf Refactor public interface around handling of textures
* Subresource handling is more consistent - we pass around a struct now that
  contains the array slice, mip level, and sample. We remove the concept of
  'MSAA textures count samples as extra slices within the real slices' and
  internalise that completely. This also means we have a consistent set
  everywhere that we need to refer to a subresource.
* Functions that used to be in the ReplayOutput and use a couple of implicit
  parameters from the texture viewer configuration are now in the
  ReplayController and take them explicitly. This includes GetMinMax,
  GetHistogram, and PickPixel.
* Since these functions aren't ReplayOutput relative, if you want to decode the
  custom shader texture or the overlay texture you need to pass that ID
  directly.
2019-11-26 17:38:25 +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 3a2a89d10a Add test of D3D12's WriteToSubresource 2019-10-24 18:02:54 +01:00
baldurk 0559bfffd4 Test cbuffers with huge spaces on D3D12 2019-10-24 18:02:54 +01:00
baldurk 1eae20cad3 Add test of exporting/importing capture with a large number of buffers 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 c67995b85a Make it easier to run tests from within UI 2019-09-20 11:20:45 +01:00
baldurk f3220bd6fb Use more stable clear color for comparison
* We need to allow for off-by-one errors in our color comparisons
2019-09-16 18:50:01 +01:00
baldurk 0b276673b6 Pick random target to pixeldebug in Iter_Test
* We also make sure that if we go back to a previous event to debug, that we
  look up the right output corresponding to where it's bound there (since it
  might be bound to a different slot).
2019-09-16 18:34:23 +01:00
baldurk dff2583db3 Add tests for specific parameters 2019-09-13 17:33:48 +01:00
baldurk a2df78369c Add test of denormal flushing to D3D11 shader debug zoo 2019-09-13 17:33:48 +01:00
baldurk d71b15115c Add additional proteciton & testing of unbound images in vulkan 2019-09-13 17:33:48 +01:00
baldurk c9f13a657d Add test cases of shader editing on GL and Vulkan 2019-09-05 20:36:12 +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 588025fc6c Add test case for misaligned dirty regions on vulkan 2019-09-05 11:48:47 +01:00
baldurk c761f675c4 Add test that SPIR-V 1.3 shaders are disassembled, reflected, and edited 2019-09-04 14:33:13 +01:00
baldurk ee43d4377c Account for pipeline specialisation constants when reflecting shaders 2019-08-16 17:38:35 +01:00
baldurk ef269e2b92 Add support for VK_EXT_line_rasterization 2019-08-15 18:27:39 +01:00
baldurk 9589d2d893 Add support for VK_KHR_imageless_framebuffer 2019-08-14 18:21:20 +01:00
baldurk 211d1b694f Make VK_Indirect less sensitive to event IDs changing 2019-08-14 14:35:14 +01:00
baldurk 1fc9f36114 Add support for VK_EXT_index_type_uint8 2019-08-12 17:53:23 +01:00
baldurk e9cf36800b Check that debugged value matches shader output in Iter_Test 2019-07-25 15:14:43 +01:00
baldurk 9e2ce0077a Use documented variables for Iter_Test action chances 2019-07-25 15:13:19 +01:00
baldurk d03fd1dd25 Fix support for arrays-of-struct vertex outputs. Closes #1438 2019-07-04 16:28:15 +01:00
baldurk 1fcac940ae Always patch functions looking for bindless descriptor access
* Even if a function isn't passed a global binding array as a parameter, we
  still need to patch it in order to find any accesses it makes directly to
  global resources just as we do in the entry point.
2019-06-24 10:21:23 +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 217506869f Only patch vulkan image layouts at the last second
* Instead of patching e.g. PRESENT to GENERAL early, we keep the 'real' layout
  even if that's UNDEFINED or PRESENT or whatever. We then do a last-second
  patchup whenever we're actually transitioning images in vulkan itself, to set
  the right layout.
* This requires us to do the patching in a few more places - anywhere like
  texture rendering or initial states where we want to go from current state ->
  custom state -> back to current state.
* This also allows us to more gracefully handle PREINITIALIZED image layouts. We
  internally promote them to GENERAL as soon as possible, but keep them around
  as PREINITIALIZED for display.
2019-06-04 18:18:10 +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 72ddba1a58 Check second draw with vertex offset in primitive restart test 2019-05-27 12:01:40 +01:00
baldurk 1fbcade162 Add test of GL's per-type texture unit bindings 2019-05-27 11:49:06 +01:00
baldurk 57084fd911 Check final memory usage, not peak memory usage, in Repeat_Load test
* We are really looking for persistent memory leaks here not fluctuations in
  memory use. There are too many false positives from memory usage increasing up
  high part-way through the iterations and then reducing down for the final
  iteration, which could be many lazy or deferred things running and completing
  over time.
2019-05-27 10:09:32 +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 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
baldurk 2573dffde7 Remove MAP_UNSYNCHRONIZED_BIT from GL persistent maps
* This is required because we add MAP_READ_BIT and the spec doesn't allow maps
  that are both unsynchronized and reading.
* Also add a test for unsynchronised persistent maps, and update the
  GL_Buffer_Updates test to not require a reference image but check each quad
  individually for the expected colour.
2019-05-22 12:04:33 +01:00
baldurk 6d47b35cd9 Change GL_Entry_Points test to use more generally available functions 2019-05-17 16:32:55 +01:00
baldurk ff24c2251a Account for differing reflection of global uniforms on GL
* The reflection might only return the actual used values, but it might return
  more so ensure we have handling for that.
2019-05-17 16:32:55 +01:00
baldurk d3d5d63b2a Add tests of awkward lifetime edge cases for resources on all APIs
* This is primarily around initial states - either a resource which is from a
  previous frame and maybe wasn't dirtied and needs initial states created for
  it when it's modified mid-frame, or a resource that's created and destroyed
  all within one frame.
2019-05-14 17:13:29 +01:00
baldurk bd85073bb7 Fix tests using old CreateHeadlessWindowingData() function 2019-05-08 14:11:15 +01:00
baldurk 5c28bd0a31 Add a parameter to allow saving RGB PNGs 2019-05-06 15:57:02 +01:00