Commit Graph

12687 Commits

Author SHA1 Message Date
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
baldurk 469221ab15 Add sorting options to resource inspector, including 'recently used' 2021-10-18 17:11:36 +01:00
baldurk 6dd63c6aec Convert counter viewer to item model, sync filter with event browser 2021-10-18 14:14:36 +01:00
baldurk 531946c128 Skip marker regions when fetching D3D11/GL counters 2021-10-18 11:14:49 +01:00
baldurk 6ba5278f46 Fix pipeline stats queries on D3D11 2021-10-18 11:14:12 +01:00
baldurk c02c8355c7 Check queued initial state fetches on implicit thread switches on GL 2021-10-18 11:12:19 +01:00
baldurk 97dfda3c3c Fix use of GetCBufferVariableContents in tests 2021-10-18 10:20:08 +01:00
Remi Palandri 47d6c86222 support VK_EXT_fragment_density_map2
support VK_EXT_fragment_density_map2
2021-10-12 17:52:50 +01:00
Leonid Fedorov 5a2dd3fd77 Add support 3d ASTC compressed textures 2021-10-12 17:52:26 +01:00
Remi Palandri 0151c5ce88 add explicit folder name to d8 commandline
d8 on cmd/powershell doesn't handle asterisks properly for folders, so replacing it by current ABI folder name
2021-10-11 12:22:40 +01:00
baldurk 501b67bccf Further clang warning fixes 2021-10-06 19:17:15 +01:00
baldurk 484f25bb75 Linux compile fixes 2021-10-06 17:14:29 +01:00
baldurk 1464eaeb81 Ensure linux process hooks don't do anything on replay 2021-10-06 16:31:44 +01:00
baldurk b71b84374f Implement option to export current vulkan pipeline to fossilize db 2021-10-06 16:31:44 +01:00
baldurk c76c761bab Fix some crashes exporting HTML pipeline state on vulkan 2021-10-06 16:31:43 +01:00
baldurk 18647c3d87 Improve important tagging for vkCreateRenderPass2 2021-10-06 16:31:43 +01:00
baldurk b850c2d7fe Fix incorrect use of QByteArray::fromRawData, it doesn't copy input data 2021-10-06 16:31:43 +01:00
baldurk 2206f6bd2f Don't add duplicate derived resources 2021-10-06 16:31:43 +01:00
baldurk fb912b4853 Add a recursive search function in SDObject 2021-10-06 16:31:43 +01:00