Commit Graph
444 Commits
Author SHA1 Message Date
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 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 6de8c53f85 Fix VK_Extended_Dynamic_State 2020-09-04 11:39:10 +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 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 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 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 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 KarolewicsandBaldur Karlsson 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 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
baldurk 7927ff2e40 Add tests of shaders that don't use GLSL.450 & have 0 stageFlags binds 2020-07-15 15:34:37 +01:00
baldurk e1f90b4b01 Add test that validation layers and extensions can be captured 2020-07-15 14:11:42 +01:00
baldurk 5c57493855 Share common shader source on vulkan 2020-07-15 14:05:20 +01:00
baldurk b0f4a11b98 Test glBindBuffersBase doesn't crash when passed NULL 2020-07-14 18:00:50 +01:00
baldurk 7ebe4e5ac1 Add test that GL state isn't trashed by initial contents or overlay 2020-07-14 17:52:40 +01:00
baldurk a395ec8560 Increase GL_Large_Buffer test to check >2GB buffer 2020-07-14 17:22:01 +01:00
baldurk 02a54be6ad When replaying resource discards fill with explicit pattern. Closes #284
* This helps catches cases where a discarded image is accidentally used and in
  many cases may still have valid data. Particularly on Vulkan this is relevant
  for DONT_CARE renderpass load and store ops.
2020-07-13 17:29:11 +01:00
baldurk 35854957db Add support for VK_EXT_extended_dynamic_state 2020-07-03 15:43:00 +01:00
baldurk 4c885f0ebf Update official vulkan headers to 1.2.145 2020-07-02 17:40:21 +01:00
baldurk ef6439dd47 Add missing vulkan tests on linux demos project 2020-07-01 18:09:24 +01:00
baldurk b26fdae758 Ensure aggressive dead-code stripping doesn't break tests 2020-07-01 18:09:24 +01:00
Steve KarolewicsandBaldur Karlsson 270700c290 Fix reporting of DXC errors in test app
Fallback to compiling without -Qembed_debug if it fails, to support
older Windows 10 SDKs
2020-07-01 10:45:40 +01:00
baldurk 6d23e59aa6 Support specifying next chain to instance creation, and inst extensions 2020-06-29 13:10:51 +01:00
baldurk a0c66317e3 Add test of DXBC and DXIL D3D12 shader reflection 2020-06-19 14:46:00 +01:00