Commit Graph

208 Commits

Author SHA1 Message Date
baldurk 0c4c710170 Don't re-check fences within the same expire pass
* If we check a fence each time it's referenced, we risk getting a different
  answer the second time we check and expiring it too early.
2019-08-14 14:15:51 +01:00
baldurk 24107ce4ce Don't require depthClamp in vulkan tests unnecessarily 2019-08-14 11:03:58 +01:00
baldurk 1fc9f36114 Add support for VK_EXT_index_type_uint8 2019-08-12 17:53:23 +01:00
baldurk 53fdd792b7 Update vulkan headers to 1.1.119 2019-08-12 17:53:22 +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 d26462dca8 Add ugly workaround for newer compiler used in vulkan SDK 2019-08-08 10:44:36 +01:00
baldurk f82cce065d Remove note about 'work in progress' Qt UI in linux README 2019-07-29 16:54:42 +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 dbd8a99a61 Allow a custom epsilon for value comparisons in tests 2019-07-25 12:25:40 +01:00
baldurk d03fd1dd25 Fix support for arrays-of-struct vertex outputs. Closes #1438 2019-07-04 16:28:15 +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 ad2c4a4dc6 Update vulkan headers to 1.1.113 and add support for new extensions
* VK_EXT_shader_demote_to_helper_invocation and VK_EXT_texel_buffer_alignment
2019-07-01 16:57:56 +01:00
baldurk fcd31fb949 Update to vulkan headers 1.1.112, and use own generated dispatch tables
* This removes the dependency on vk_layer_dispatch_table.h which makes it easier
  to update the vulkan headers in future.
2019-06-28 14:09:20 +01:00
baldurk 0d2849458b Install generic gcc/g++ packages so configure scripts can find them 2019-06-25 10:55:48 +01:00
baldurk 51de7255d3 Stop static linking libstdc++ in release builds
* This seemed to cause crashes on some systems as libproxy links to libstdc++
  and can then cause symbol conflicts between the static libstdc++ and the
  system's libstdc++.
* libproxy itself cannot be statically linked, so the solution is either to
  configure Qt without libproxy and break anyone who needs proxy support, or
  stop statically linking libstdc++ and add a new dependency. At commit time
  most distributions have at least g++-5's libstdc++ in their minspec so we can
  require that - the main two that seem to fall short are Debian Jessie and
  CentOS 7. Users on those systems will have to install a newer libstdc++ or
  compile from source rather than using the binary releases.
2019-06-24 13:27:45 +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 96b13075c5 Fix 32-bit compilation of autotest demos 2019-06-18 15:54:38 +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 3d81638d06 Fix some copyright dates still referring to 2018 2019-06-07 18:54:10 +01:00
baldurk f09c40b8c9 Fix broken cases with GL_ARB_gl_spirv. Closes #1405
* We can't rely on the driver's reflection, since name information might be
  stripped and the driver is within its rights to not reflect anything even if
  we have names. Similarly queries by names etc will not work.
* Also we can't try to change bindings that are immutable on SPIR-V shaders -
  UBO/SSBO bindings, transform feedback varyings, attrib and fragdata locations.
* Programs can't mix and match SPIR-V and GLSL, so when including our own
  shaders in the overlay program make sure they match what the user's shaders
  are.
* For mesh output, we need to patch the SPIR-V if it's a SPIR-V shader instead
  of trying to use the GL XFB varyings set.
2019-06-07 18:53:02 +01:00
baldurk 7c6921248f Exit on compile error on travis OSX build 2019-06-05 19:03:57 +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 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 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 ffe2ec7aba Workaround Intel driver not reflecting array if [0] isn't accessed 2019-05-27 13:23:41 +01:00
baldurk 877802bef2 Check descriptor indexing test doesn't overflow physical device limits 2019-05-27 13:23:29 +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 7ab3d943b0 Add helper function to look up ResourceDescription for a ResourceId 2019-05-27 11:48: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 38d3145964 Be more generous with glslc timeout 2019-05-25 16:57:38 +01:00
baldurk e353d23364 Don't require /tmp/rdoc_tmp to exist 2019-05-25 16:36:18 +01:00
baldurk dc7ef30a60 Fix tests compiling with threads on linux 2019-05-25 15:01:48 +01:00
baldurk e9dda84b9f Add test that draws many windows in parallel 2019-05-24 20:03:20 +01:00
baldurk 3c4dbaca30 Factor out window-specific and related resources separately in tests
* This will let us run multiple windows (and multiple threads) relatively
  easily.
* The hammer is fairly big, we move some things into the window that don't need
  to be there necessarily if we have multiple windows on a single thread, but it
  keeps things simple.
2019-05-24 19:57:13 +01:00
baldurk 42f074187c Fix some validation issues with tests 2019-05-24 19:17:11 +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 6e2e2abb22 Fix check for strip restart, only apply if an index buffer is active 2019-05-24 17:12:55 +01:00
baldurk b6104da0af Remove GL shader/program object labels, add support for geometry shaders 2019-05-24 17:12:55 +01:00
baldurk 547f767599 Check feature in Prepare() 2019-05-24 17:12:54 +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 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 786d6c84af Link-ify the git commit in test results 2019-05-24 11:52:54 +01:00