Commit Graph
57 Commits
Author SHA1 Message Date
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
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