Commit Graph

641 Commits

Author SHA1 Message Date
baldurk 4809615a8f Don't print hit information until we know it's a drawcall 2020-09-17 15:05:21 +01:00
baldurk a3b6adc303 Linux demos compile fix 2020-09-16 17:03:27 +01:00
baldurk 1286f4b272 Fix issues identified by synchronisation layer 2020-09-14 13:01:14 +01:00
baldurk 925b49daa6 Fix handling of instance extensions in vulkan tests 2020-09-11 18:51:27 +01:00
baldurk fdeea5204d Refactor and optimise D3D11 refcounting implementation
* In heavy D3D11 workloads the refcounting overhead especially during fast
  binding changes was significant. Refactoring the refcounting to work on a
  different model and deferring destruction of objects removes most of the
  overhead.
2020-09-10 13:35:32 +01:00
baldurk eba6f5251c Add success logs when each renderpass segment is verified
* It makes the log easier to read and so we know which part we're at if a pixel
  fails.
2020-09-04 12:51:56 +01:00
baldurk 5a6feec9c1 Speculative fix for intermittent failure in GL_Multithread_Rendering
* It seems like on nv windows we need to explicitly rebind the main context to
  the main thread and give each worker thread its own window, to prevent the
  worker thread from being unable to bind its context sometimes.
2020-09-04 12:39:04 +01:00
baldurk 9b37a8b8a7 Don't print renderdoc log to stdout when running tests 2020-09-04 12:05:48 +01:00
baldurk 55ac2c95a8 Tweak handling of failed tests in artifacts log 2020-09-04 11:50:02 +01:00
baldurk 6de8c53f85 Fix VK_Extended_Dynamic_State 2020-09-04 11:39:10 +01:00
baldurk 0e7bdc4cc7 Fix python call to GetDisassemblyTargets 2020-09-04 10:43:36 +01:00
baldurk 18a7e3c05c We shouldn't return physical device entry points in vkGetDeviceProcAddr
* The spec says we only return a function pointer for device or device-child
  functions. In practice the loader wraps instances and physical devices so when
  calling a direct GDPA returned function the loader won't unwrap it so we won't
  get our proper wrapped objects and will crash.
2020-09-04 10:32:17 +01:00
baldurk d5f45f6476 Allow overriding the python install on windows
* Also document the new requirement for os.add_dll_directory as of python 3.8
2020-08-31 12:38:49 +01:00
baldurk 0ca90bd34e Fix variable descriptor count test 2020-08-31 10:10:51 +01:00
baldurk 30ecf66cca Fix handling of variable descriptor counts to not allocate maximum size
* We previously ignored the variable descriptor size allowed by descriptor
  indexing,
2020-08-28 19:06:06 +01:00
baldurk 0e5b08d0e1 Fix test compilation on linux 2020-08-28 19:06:06 +01:00
baldurk 5c0dadae84 Test that RTV descriptor copies in D3D12 are properly recorded mid-frame 2020-08-20 17:09:51 +01:00
baldurk 3e100109da Test destroying/freeing NULL handles, fix validation errors 2020-08-20 17:02:03 +01:00
baldurk 64f98f286e Add test of heavy descriptor reallocation and reuse 2020-08-20 13:48:17 +01:00
baldurk ffac439cce Record which queries are reset in each frame & restore them to validity
* It's possible that a frame capture could copy from a query and then reset it,
  without then recording something valid into the query. Then the next replay
  the copy would be unavailable and if WAIT_BIT is set that would lead to a
  device lost.
* We already fill out queries with dummy valid data on create time, so now we
  record any queries that are reset and re-fill them with valid data again.
2020-08-19 18:02:03 +01:00
baldurk bf8390d313 Fix docker build to work with https apt sources 2020-08-17 10:26:30 +01:00
baldurk 73248c8488 Include RenderDoc logfile after test runs 2020-08-14 14:58:12 +01:00
baldurk e11c3523a6 Fix subprocess timeout not properly kicking in 2020-08-14 14:58:08 +01:00
baldurk 152170dc58 Fix reference data not being updated at right place after map write 2020-08-10 14:09:36 +01:00
baldurk 7b1995a7ba Properly handle offsets on memory maps in vulkan 2020-08-04 13:59:45 +01:00
baldurk 39431bb83f Don't flush mapped memory in driver for detected coherent memory writes 2020-07-31 17:20:25 +01:00
baldurk 351687eb87 Test that D3D11 shader debugging doesn't internally pollute state 2020-07-31 16:24:59 +01:00
baldurk 9ce60a0b6e Test that OpenExistingHeapFromAddress can be captured and replayed 2020-07-29 15:39:04 +01:00
baldurk d03acd3b6c Test reading instanced data via client memory pointers in GL 2020-07-29 15:17:45 +01:00
baldurk c8c281b503 Test swizzles on byte address buffer loads 2020-07-29 14:52:05 +01:00
baldurk 624da2fb25 Add test that we don't crash on draws with new viewports 2020-07-27 16:17:13 +01:00
baldurk 691ee0c348 Don't overwrite GL state when creating text-rendering data. Closes #1994 2020-07-27 16:17:12 +01:00
baldurk e147a5a6d1 Test OpLine/OpNoLine being intermingled with function header 2020-07-24 16:33:34 +01:00
baldurk 331aabcde6 Include test process output into test log 2020-07-21 19:57:09 +01:00
baldurk 9f4f68a76b Add an unhandled exception handler on windows to print crashes to output 2020-07-21 19:57:09 +01:00
baldurk b540f631ab Don't overwrite idx variable with loop iterator 2020-07-21 19:57:09 +01:00
baldurk f6babe77fd Handle depth clipping and depth bounds failure separately
* This prevents truly depth-clipped fragments from being wrongly reported as
  other failures like backface culling.
2020-07-20 16:07:36 +01:00
baldurk 7a885ae9bd Tweak ISA checks 2020-07-17 16:53:35 +01:00
baldurk 2bc59d1610 Fix mesh checks for extended dynamic state test 2020-07-17 16:53:35 +01:00
baldurk a46e86f191 Ensure indirect buffer is properly cleared on first run 2020-07-17 16:53:35 +01:00
baldurk c6ef3f1006 Properly enable indirect count feature on VK1.2 2020-07-17 16:53:35 +01:00
baldurk 76caaba8bb Avoid use of EXT_direct_state_access in demos 2020-07-17 16:53:35 +01:00
baldurk 845710d58a Fix compile error in demos on linux 2020-07-17 16:53:35 +01:00
baldurk e8b61fbf30 Serialise name in GL program block binding calls, to remap index
* The block index may change between capture and replay, so serialising the
  index alone is unstable similar to locations. Program initial states already
  serialise by name, but if a capture contains a block binding change mid-frame
  this could serialise wrongly.
2020-07-17 16:53:35 +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
Steve Karolewics e176fcb9d7 Fix D3D12 debugging with a texture mapped as UAV
The row pitch was not initialized, so any ld_uav_typed instructions
would likely return the wrong data.
2020-07-17 10:21:19 +01:00
baldurk c912ccc3a8 Fix lookup of source var that references an array 2020-07-16 20:45:20 +01:00
baldurk 1316dbc65b When iterating captures, don't compare outputs that are uninitialised 2020-07-16 20:45:20 +01:00
baldurk 7ab794ffb3 Update vulkan pixel history test to exercise recent changes 2020-07-16 20:45:20 +01:00
baldurk f49c10bcca Fix tests that got broken by sharing shaders 2020-07-16 20:45:19 +01:00