Commit Graph

65 Commits

Author SHA1 Message Date
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
baldurk 0f26e3cb6e Allow images to be unsupported 2019-12-13 11:46:28 +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 1530bc6499 Let tests know if they're being run in debug mode
* This will let us do extra logging or dumping data we don't want to do on a
  real run
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 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 9627332667 Add a utility function to tests to pick a pixel and check its value 2019-09-05 20:33:25 +01:00
baldurk 4a4884129b Allow overriding replay options in test cases 2019-09-05 11:48:47 +01:00
baldurk 096e5af08b Fix graphics tests to pass default replay options to OpenCapture 2019-08-29 10:02:29 +01:00
baldurk dbd8a99a61 Allow a custom epsilon for value comparisons in tests 2019-07-25 12:25:40 +01:00
baldurk 587d562fa3 Fix NaN and INF value comparisons in tests 2019-06-03 14:16:43 +01:00
baldurk d86d270f3e Fix float value comparisons, only consider values equal if both are NaN 2019-05-29 10:49:59 +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 7ab3d943b0 Add helper function to look up ResourceDescription for a ResourceId 2019-05-27 11:48:06 +01:00
baldurk 6e2e2abb22 Fix check for strip restart, only apply if an index buffer is active 2019-05-24 17:12:55 +01:00
baldurk 2d370ac4ae Add functions to check vertex input data as well as vertex output data 2019-05-24 17:12:54 +01:00
baldurk ce8fcc1a16 Fix UNorm/SNorm post-processing on mesh data decode 2019-05-24 13:31:48 +01:00
baldurk f6a2bd345c Fix PostVS alignment calculation in test mesh fetch 2019-05-24 13:31:24 +01:00
baldurk 786d6c84af Link-ify the git commit in test results 2019-05-24 11:52:54 +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