Commit Graph
32 Commits
Author SHA1 Message Date
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
baldurk ec8564642a Refactor demo API test initialisation order
* Instead of only doing a very lightweight check to see if the API is available
  up-front, we now share the API initialisation among all API tests far enough
  to determine availability of extensions, features, etc. Then we can precisely
  determine which tests are available and which aren't before running.
2019-05-23 13:18:37 +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 ccd5ba218e Explicitly shutdown only the running test, instead of using destructors
* The tests are global objects so there's a potential ordering issue of
  destroying these tests after RenderDoc's global destructors have run.
2019-04-04 15:50:34 +01:00
baldurk d677b594b1 Fix D3D11_Binding_Hazards test 2019-03-25 17:48:44 +00:00
baldurk bbc2f47fa8 Centralise generation of buffer format strings for struct buffers
* We also fix a number of issues that could cause incorrect formats to be
  generated.
* Test cases added for D3D11/GL/Vulkan to test different struct types. These
  aren't automated at the moment because most of the code they're testing is in
  the UI itself.
2019-02-13 18:50:56 +00:00
baldurk 014619eaf9 Add D3D11_RESOURCE_MISC_SHARED in GL/DX interop tests
* Necessary for it to work correctly on AMD
2019-02-13 18:50:55 +00:00
baldurk be67e91cc7 Add testing of saturate on NaNs in D3D shader debug 2019-02-07 15:23:06 +00:00
baldurk 351c75e006 Fix some cases handling arrays of matrices
* We also pick the output pixel in the CBuffer_Zoo tests to ensure the API
  agrees with our interpretation of the data.
* Follow-up commit will tidy D3D cbuffer code that needs it.
2019-02-07 15:23:05 +00:00
baldurk 73a5357419 Fix handling of primitive restart with a vertex offset 2019-02-04 18:06:09 +00:00
baldurk 86ff87863e Update copyright years to 2019 2019-02-01 18:32:13 +00:00
baldurk 145f4bdb15 Handle GL applications changing BASE_LEVEL / MAX_LEVEL dynamically
* This is the only way in GL to do rendering from one mip to another. We handle
  it and display the whole texture even if it's temporarily constricted, and
  display the mip state in the pipeline viewer.
* If the mip state is constricted at the start of the frame capture, only mips
  0..MAX will be visible at all and other mips will be assumed to not be valid.
2019-01-14 18:02:44 +00:00
baldurk caaa2bf144 Fix demos compilation on Win32 2018-12-12 23:53:34 +00:00
baldurk ff20086e4c Make sure MediaEngine is released before calling MFShutdown() 2018-12-12 23:53:34 +00:00
baldurk 796b05d76e Add markers to D3D11 video textures demo, around video update & blit 2018-12-12 23:53:34 +00:00
baldurk 6fcba1ced4 Add use of MediaFoundation to decode video in D3D11 video texture demo
* Where available - on Win8+ basically. On win7 the video doesn't play (but most
  of the demo also doesn't work, so that's not much change).
* Added a short 10kb clip from Caminandes (http://www.caminandes.com/sharing)
2018-12-12 13:55:17 +00:00
baldurk 360ab71a56 Update demos copy of DX official headers 2018-12-12 13:55:17 +00:00
baldurk 208b6facff Add a couple of helper D3D/DXGI smart pointers 2018-12-12 13:55:16 +00:00
baldurk 7880cc5d7b Allow customising D3D11 device creation flags in D3D11 demos 2018-12-12 13:55:16 +00:00
baldurk f8720b94af Add demos testing video (YUV / YCbCr) formats on D3D11, D3D12, Vulkan 2018-12-11 19:57:22 +00:00
baldurk b9f5ecaaa8 Add GPU selection on command line to VK/D3D11/D3D12 tests 2018-12-11 19:57:22 +00:00
baldurk f1d2258c5b Update copyright years in demos project 2018-12-11 19:57:22 +00:00
baldurk 4c3d70b612 Add D3D11 helper for making sampler objects 2018-12-11 19:57:21 +00:00
baldurk 7908577cce Fix refcounting in D3D tests, don't lose ref creating COM smartptr
* If we create in a bare pointer then just cast to a smart pointer, it adds a
  ref instead of stealing it. Just only allow creating smart pointers in the
  first place.
2018-12-04 23:54:39 +00:00
baldurk d339874a06 Revert behaviour with cull mode not affecting texture overlays
* This is kind of a "damned if you do, damned if you don't" situation. If the
  cullmode is wrong, having it show up as failures in depth/stencil overlays is
  misleading. However if the cullmode is deliberate setting it to no-cull may
  ruin the results of those overlays.
* The original behaviour of leaving cullmode as is ends up being a better
  tradeoff, since at least when it is misleading you can use the culling overlay
  to show the failure there. If culling is disabled it makes depth/stencil
  overlays useless in situations with no recourse.
* Also add a test of a depth-clipped triangle to overlay tests
2018-12-04 23:54:38 +00:00
baldurk a9151a8c0b Add testing framework useful for automated testing
* Built entirely independently of the main renderdoc build (for now).
* Contains python scripts & framework for running tests on a renderdoc build,
  which will be run nightly.
2018-11-29 14:47:20 +00:00