87 Commits

Author SHA1 Message Date
baldurk 331aabcde6 Include test process output into test log 2020-07-21 19:57:09 +01:00
baldurk 485f7d21fc Make overlays interact consistently with viewport/scissor
* We also add a red/green display to the viewport and scissor overlay to show
  pixels that fail the scissor test.
2020-07-17 16:53:34 +01:00
baldurk c912ccc3a8 Fix lookup of source var that references an array 2020-07-16 20:45:20 +01:00
baldurk 1df39247fa Fix access to render state in D3D12
* We need to copy the external-facing m_RenderState into the partial command
  buffer's state for partial replay, in case it was modified externally.
* Also when accessing the render state inside a drawcall callback we need to use
  the command buffer's local state, not m_RenderState which isn't updated until
  the replay completes.
2020-07-14 14:08:54 +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 0d026a43d6 Remove CompType::Double
* This is a leftover artifact from before we had general extended type support
  and double was the only non-32 bit type we handled. Now we support most type
  formats so doubles are just CompType::Float with 8 byte width
2020-07-12 10:52:10 +01:00
baldurk 02c1669a4d Better handle failures inside nested test sections 2020-07-06 11:14:02 +01:00
baldurk ab5c527489 Update D3D12 cbuffer test to check DXIL 2020-06-19 14:46:00 +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 46a6515356 Handle normalisation of sampled stencil values 2020-06-08 17:09:24 +01:00
baldurk 4a5bd147e1 Fix Draw_Zoo tests 2020-06-01 21:54:43 +01:00
baldurk a0a373a8e1 Fix handling of buffer truncation and zero-sized buffers 2020-05-29 17:26:29 +01:00
baldurk abb959e1fd Handle array textures and multiview properly in overlays. Closes #1895 2020-05-27 22:38:23 +01:00
baldurk 47f2fa8b93 Don't apply restart index if primitive restart is disabled 2020-05-20 11:20:13 +01:00
baldurk c93d92467d Be more forgiving with D/S sampling output 2020-05-20 11:03:55 +01:00
baldurk 2b1b8bedf0 Print test runner output when running out-of-process 2020-05-18 16:58:23 +01:00
baldurk f622ac36d6 Standardise layout of packed texture formats on disk/network
* We preserve each API's interpretation of bit order for packed formats like
  RGBA4 or R5G6B5 when displaying the raw data in the UI, but when we need to
  proxy it or save to disk, we always transform to D3D's order as standard.
* This allows us to proxy them reliably because we always have a standard bit
  order and APIs that need a different order transform when fetching data to the
  standard format, or setting proxy data from the standard format.
2020-05-18 13:21:55 +01:00
baldurk 31b1c0641a Fix debug var lookups in tests for D3D variables 2020-05-13 18:07:26 +01:00
baldurk bfcc484a7c Add tests of drawcall variants 2020-05-12 19:04:57 +01:00
baldurk 8643b01200 Display type name of other exceptions in failures 2020-05-12 19:04:57 +01:00
baldurk 79c47ff91e Ignore bound index buffer for non-indexed draws, apply vertexOffset 2020-05-11 18:04:22 +01:00
baldurk d0385567bf Fix tests referring to SigParameter.compType 2020-05-08 20:43:25 +01:00
baldurk 20e17a3f20 Add a configurable timeout when running demos program 2020-04-30 18:15:28 +01:00
baldurk 8ee6e43ed6 Check that we can render secondary mesh data with only two components
* We need to be sure that we don't accidentally read RGB anyway.
2020-04-21 17:09:24 +01:00
baldurk 5e2de7dd34 Fix issues switching between mips with overlays on vulkan 2020-04-07 14:05:43 +01:00
baldurk 9372fa879a Don't allow PNG files to fail to open in Texture_Zoo test 2020-04-01 14:10:57 +01:00
baldurk ac77b7899d Remove VK_Indirect use of image comparisons 2020-03-19 17:16:19 +00:00
baldurk 40611a3dde Test subresource rendering in overlay tests, remove png comparisons 2020-03-12 16:51:19 +00:00
baldurk 02184b07e7 Support picking from output overlay textures which don't have details 2020-03-12 15:42:54 +00:00
baldurk ea41937617 Support internal test cases which are not registered
* This is useful for large tests like Mesh_Zoo and Texture_Zoo which are API
  independent, which can derive from TestCase to get all the helpers, but then
  not get auto-added until an API-specific test derives from them
2020-03-12 15:42:54 +00:00
baldurk 59ccddf31b Skip all tests first in test runner 2020-03-12 15:42:54 +00:00
baldurk b392c07d83 Add tests that use large vertex buffers 2020-03-11 18:00:53 +00:00
baldurk a2c87e23a1 Set appropriate epsilon for A8 textures in texture zoo 2020-03-06 17:56:28 +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 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 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 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 83d77ea543 Improve formatting of Iter_Test output 2020-02-18 19:18:51 +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 76a88cc7a3 Add test of D3D12 render passes 2020-02-11 17:11:32 +00:00
baldurk e012c82168 Update tests to use new interfaces 2020-02-06 17:58:42 +00:00
baldurk b38cbc1b0c Add explicit functions to initialise and shutdown replay. Closes #1685
* It's required for replay applications to call InitialiseReplay() before doing
  any work, and to call ShutdownReplay() once they're finished.
* This lets us do more heavyweight shutdown work before global destructors are
  being invoked and the RenderDoc instance is being destroyed.
* Anything that needs to be shut down during capture still has to happen in
  RenderDoc::~RenderDoc since we obviously can't get the application to call a
  shutdown function in that situation.
2020-01-30 13:39:15 +00:00
baldurk db0779e09b Add test for mesh view - vertex picking and mesh rendering 2020-01-21 18:28:55 +00:00
thisisjimmyfb 0734776a49 added test demo and script for opengl backdoor context 2020-01-20 13:41:18 +00:00
baldurk 42841e23be Expose vulkan layer registration in renderdoccmd on win32. Closes #1690
* This is needed so that the functional tests can elevate and run renderdoccmd
  to register the vulkan layer, if needed.
* At the same time remove the old spammy message and ignore flag - this dates
  back to before the UI existed, and that should be the way users run RenderDoc
  generally and it has a good UI for walking through layer registration if
  needed.
* The command is always available, but will only show up in help if attention is
  needed.
* Also fix registering installs on shared drives.
2020-01-20 11:46:48 +00:00
baldurk 2418a8faef Add a per-test duration log when running tests 2020-01-15 11:24:41 +00:00