Commit Graph

12705 Commits

Author SHA1 Message Date
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
baldurk c48764f222 Add support for VK_EXT_shader_atomic_float2 2021-10-21 20:26:55 +01:00
baldurk 0995dd404f Add suport for integer dot-product and subgroup uniform flow extensions 2021-10-21 20:26:55 +01:00
baldurk 71c1f6b7a0 Add support for VK_KHR_maintenance4 2021-10-21 20:26:55 +01:00
baldurk 0e75b926b0 Add support for VK_KHR_present_id/wait 2021-10-21 20:26:55 +01:00
baldurk 9b877549bd Add support for VK_KHR_format_feature_flags2 2021-10-21 17:11:56 +01:00
baldurk ead57d7351 Move document with list of supported vulkan extensions into repository 2021-10-21 17:11:56 +01:00
baldurk 56f87abcab Update vulkan & SPIR-V to latest
* Vulkan header 1.2.196
2021-10-21 14:25:44 +01:00
baldurk 604b556c67 Check for geometry shader as well as tessellation 2021-10-21 10:54:21 +01:00
baldurk 3cec544508 Patch quad overdraw shaders on D3D12 to follow rules. Closes #2356
* This is a stupid requirement as the quad overdraw shader doesn't use any
  interpolators, but the D3D12 runtime complains and refuses to create a PSO
  unless the PS has a matching signature. This works as long as the position was
  the first output from the previous stage, but if it isn't the PSO fails to
  create.
* To fix this, we take the existing shader and patch it by grafting the output
  signature from the last stage over onto the input signature, and patching up
  where the position is.
2021-10-20 17:22:43 +01:00
Steve Karolewics ec785ba167 Add ability to debug compute shaders by dispatch thread ID
In some cases it is easier to know the dispatch thread ID you want to
debug rather than the group/thread IDs. This change adds a new window
when the debug button is clicked, to allow you to specify which thread
to debug in the most convenient way.
2021-10-19 18:14:53 +01:00
baldurk 0b5e8369d3 Add some literal returns for D3D12 swizzle enums 2021-10-19 18:12:30 +01:00
baldurk 8245b99b56 Avoid some redundant checks in GetLiveResource
* Historically we always expected a live resource, but with descriptors that can
  be stale we can have a lot of queries where it's fine to just get NULL back if
  the resource doesn't exist.
2021-10-19 18:12:19 +01:00
baldurk c753655ef1 Optimise lookup of API event from action 2021-10-19 17:53:48 +01:00
baldurk 92e3c21baf Always set pipeline state on D3D12 on all types of command buffer
* Notably this meant the pipeline state wasn't bound on compute-only command
  buffers
2021-10-19 17:05:30 +01:00
baldurk ee8c685880 Tweak docstring on performance counter viewer 2021-10-18 23:03:39 +01:00
baldurk 3324b7f86c Hide hidden/internal parameters in resource inspector 2021-10-18 17:53:08 +01:00