Commit Graph

12721 Commits

Author SHA1 Message Date
baldurk 751c80af85 Don't use spec constant ID as offset for storage. Closes #2413
* This requires a linear search to get the offset for a constant by ID, but
  hopefully no-one will have so many constants that this becomes an issue.
2021-11-16 15:01:42 +00:00
baldurk 64a7bcc22e Remove VK_KHR_present_wait extension on replay 2021-11-16 11:34:52 +00:00
baldurk 4647492b24 Remove message about binding 0 GPUVA for root parameters
* It's supposed to be legal technically, but it's illegal to dereference so
  dropping these binds is also fine. Since this has caused driver crashes before
  that seems safer.
2021-11-16 11:34:31 +00:00
baldurk 37fd59313b Add a test of vulkan shader debug printf 2021-11-15 16:14:00 +00:00
baldurk 9e5b81471c Clear shader message count cache when resetting event browser 2021-11-15 15:49:28 +00:00
baldurk ff1fc1c20f Test handling of residency refcounting and placed resources on D3D12 2021-11-15 15:07:56 +00:00
baldurk 799f3a806b Add tests of multi-bind GL functions that take NULL arrays 2021-11-15 13:32:10 +00:00
baldurk f96a91a108 Show how to hardcode a single test in the demos project 2021-11-15 13:09:24 +00:00
baldurk 4d2afdeea7 Skip past any undefined descriptor binds when overflowing. Closes #2410 2021-11-15 12:02:24 +00:00
baldurk 9fff431f5a Change recursive chunk assert check
* We don't always start serialising from offset 0, e.g. when streaming or when
  writing initial states directly into a capture file.
2021-11-15 12:00:12 +00:00
baldurk 5b4d6dab63 Implement buffer copy via get function for GL queries. Closes #2409 2021-11-15 11:25:57 +00:00
baldurk 32fd5b5f18 Fix SDK detection on VS2022 where the windows SDK has no 64-bit reg key 2021-11-15 11:02:05 +00:00
Jake Turner a5636c7bec When starting a chunk assert that it starts from 0
Help to catch the mistake of starting a chunk inside an active chunk ie. calling SCOPED_SERIALISE_CHUNK inside an existing SCOPED_SERIALISE_CHUNK
2021-11-15 10:30:29 +00:00
baldurk ae9ce88930 Remove subsampled bit from vulkan images on replay. Refs #2403 2021-11-12 14:11:56 +00:00
baldurk 2e4905a6a8 Ensure that texture views have right texture type recorded. Closes #2408 2021-11-12 11:16:23 +00:00
baldurk 4d906c5007 Check that multiple D3D12 devices with different resources doesn't break 2021-11-11 15:54:47 +00:00
baldurk 3da6a89bfb Test reading from NULL vertex buffer at offset 0 with VK_EXT_robustness2 2021-11-11 15:36:56 +00:00
baldurk 77e11abf07 Test that mapping and unmapping a "persistent" buffer each frame works 2021-11-11 15:20:43 +00:00
baldurk eb96e8007c Fix validation error in VK_Shader_Debug_Zoo 2021-11-11 15:15:50 +00:00
baldurk d0d809f43e Add a test using ~0U for OpVectorShuffle inputs 2021-11-11 15:15:42 +00:00
baldurk 352821026e Add tests that frame 0 can be captured and contains correct events 2021-11-11 14:43:17 +00:00
baldurk 15944e2b41 Patch dynamic rendering depth format for pixel history 2021-11-10 14:34:08 +00:00
baldurk e51f24ee25 Disable extended dynamic states that might mess with pixel history 2021-11-10 14:34:08 +00:00
baldurk da6872065f Add event usage for attachments being cleared with dynamic rendering 2021-11-10 14:34:08 +00:00
Orson Baines 3e8eed172e Add Mesh Viewer axis mapping to vulkan, d3d11, and d3d12 drivers 2021-11-10 10:43:52 +00:00
baldurk 570266702c Enable qualcomm driver bug workaround for all cubemaps
* It seems like the problem isn't related to mips, but to 64x64 dimension faces
  (or smaller). Since it's hard to figure out exactly what the bug is and this
  might break in other scenarios maybe with other texture formats, we fall back
  to enabling the workaround across all cubemaps. This is unfortunate but the
  only way to be reliable.
2021-11-08 12:49:07 +00:00
baldurk 99bbd9e5f0 Don't provide timers for copy-queue command buffers 2021-11-08 11:47:32 +00:00
John Kattukudiyil a2978dc33d readded custom axis mapping button and updated documentation 2021-11-08 11:39:28 +00:00
John Kattukudiyil 5ed073f395 address PR feedback
- create AxisMapping struct and fix camera location issue
- add more detail to axis mapping error message
- fix other minor issues
2021-11-08 11:39:28 +00:00
Orson Baines 35f4fad20e Issue 2322: Configure mesh coordinate system
- Add a new combo box and button to camera settings for mesh viewer
- Add a new dialog window for custom axis mappings
- Implement the axis mappings in gl driver (other drivers to come)
2021-11-08 11:39:28 +00:00
baldurk f7a1414b52 Restore DONT_CARE enum handling. Closes #2405 2021-11-08 10:15:18 +00:00
baldurk a769f3e253 D3D12 placed resources keep a refcount on their heap 2021-11-05 14:15:01 +00:00
baldurk bb3343786b Add support for VK_KHR_dynamic_rendering 2021-11-05 14:15:01 +00:00
baldurk 5bee64904c Add workaround to qualcomm bug reading cubemap faces in mips on GLES 2021-11-04 15:25:41 +00:00
Mikkel Gjoel 41d39b58ce Pass range-min/max to ApplyCustomShader
Adding rangeminmax to globals, snippet support and updated docs to match

Fixes bug in replay_output.cpp, causing a crash due to missing texhandle
2021-11-03 20:26:18 +00:00
baldurk d4a5592780 Add functionality to reset an edited shader to original. Closes #2334
* We also add the ability to toggle on/off the replacement being active without
  needing to intentionally add a compile error (and this also makes it more
  explicitly clear when the shader replacement is enabled or not. This could be
  useful for quick A/B testing between the edited version and the original.
2021-11-02 14:09:50 +00:00
baldurk de38cf7b9c Require explicit debug information to support source debugging
* SPIR-V files currently can have source files, but not source debugging
  information, which is a distinction that didn't exist otherwise.
2021-11-02 12:27:42 +00:00
baldurk 33db9be271 Ignore dstArrayElement as descriptor index for inline UBOs. Closes #2401
* dstArrayElement is already accounted for as a byte offset, but shouldn't be
  used to index the descriptor as there's only ever one descriptor.
2021-11-02 11:00:57 +00:00
baldurk 20b1257411 Make sure that function constant members are fixup'd when patching
* We also add some extra debug asserts after the fixup path to ensure that all
  pointers are in the correct array (if we miss passing the old/new function for
  a value fixup like this, it could point to the old function and be silently
  ignored since that's conditional).
* A unit test harness is added too for convenience of iterating on a single
  shader's annotation.
2021-11-01 13:53:28 +00:00
baldurk 72af2abd7d Handle runtime/unbounded arrays in buffer viewer formatting 2021-11-01 13:53:28 +00:00
Mikkel Gjoel 90cad57410 ApplyCustomShader accepts TextureDisplay instead of extracted data 2021-11-01 11:49:05 +00:00
baldurk 39d31e880d Handle vertex picking in world space for post-projection data
* Previously the vertex picking was always being done in NDC space, but now for
  perspective projections we unproject into world space and raycast there for
  more reliable results with unsual projections.
2021-10-28 11:24:46 +01:00
baldurk e26c300566 Use valid values for default states. Closes #2396
* If we're replaying state set before a pipeline is bound we don't know which
  values are dynamic so conservatively we set them all. This means the state can
  be anything by default as long as it's legal - if it doesn't come from a
  previous dynamic state set its value is irrelevant.
2021-10-26 13:11:50 +01:00
baldurk 2cb612f451 Reduce stack size allocated for SerialiseNext() in debug builds
* MSVC gives each variable in the switch/case its own stack space, which means
  this function needs a bunch and if we serialise a long pNext chain (like
  device features) we can easily overflow the stack.
* I didn't check release, my suspicion is that this isn't an issue there, but
  the workaround is small so it's still useful to do.
2021-10-26 12:36:34 +01:00
baldurk 56ba5a686c Fix unit test failure 2021-10-22 17:02:19 +01:00
baldurk d00556dbb5 Support VK_EXT_dynamic_state2 & VK_EXT_vertex_input_dynamic_state 2021-10-22 16:22:42 +01:00
baldurk 7a4e68959f Support VK_EXT_load_store_op_none & color_write_enable. Closes #2363
* These are added together because VK_EXT_load_store_op_none is easier to test
  in a realistic fashion using VK_EXT_color_write_enable
2021-10-22 14:48:58 +01:00
baldurk 5d1dc8f48a Add support for VK_EXT_global_priority_query 2021-10-22 12:01:45 +01:00
baldurk 36b9980de1 Add support for VK_EXT_rgba10x6_formats 2021-10-22 11:33:28 +01:00
baldurk 25530e8f11 Add support for VK_EXT_ycbcr_2plane_444_formats 2021-10-22 11:28:59 +01:00