Commit Graph

192 Commits

Author SHA1 Message Date
Tatsuyuki Ishi b0ff54fbcf foz: Reconstruct specialization constants with correct layout 2022-04-25 14:17:12 +01:00
Tatsuyuki Ishi a2d77f58db foz: Rename dynamic rendering colorAttachmentFormats 2022-04-25 14:17:12 +01:00
baldurk 0c672aff22 Set the conservative raster state display properly on vulkan 2022-04-19 12:51:26 +01:00
baldurk fcdea67879 Update copyright years to 2022 2022-02-17 17:38:32 +00:00
Remi Palandri 1abe42c0a4 add dimensions and offset info to HTML pipeline 2022-02-15 19:28:58 +00:00
Remi Palandri d1858f4479 add support for VK_QCOM_FDM_offset 2022-02-14 21:02:27 +00:00
baldurk 6ab4c1ad74 Add support for VK_KHR_fragment_shading_rate. Closes #2426 2022-02-04 16:45:15 +00:00
Leonard Tsai f7c34cdb0c Support VK_KHR_depth_stencil_resolve attachment in pipeline state view
Depth stencil resolve attachments were not being serialized and exposed in the pipeline state view. This change serializes the attachment id for the depth-stencil resolve attachment so that it can show up in the pipeline state view.

Update name of depth/stencil in pipeline viewer

Fix clang formatting

Update struct type
2022-02-03 18:49:10 +00:00
baldurk f1e81f69c5 Fix handling of S8 textures on vulkan. Closes #2428 2022-01-10 12:54:25 +00:00
baldurk 888676ecc7 Fix crash reading D3D12 pipeline state from vulkan for compute selector 2021-11-17 13:07:12 +00:00
baldurk bb3343786b Add support for VK_KHR_dynamic_rendering 2021-11-05 14:15:01 +00:00
baldurk d00556dbb5 Support VK_EXT_dynamic_state2 & VK_EXT_vertex_input_dynamic_state 2021-10-22 16:22:42 +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 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 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 7149302680 Rename 'draw' or 'drawcall' to action
* There's not a good accepted terminology for this kind of event, and for
  historical reasons 'drawcall' has been the accepted term, even though
  that can be quite confusing when a dispatch or a copy is a 'drawcall'.
* This is particularly highlighted by the event browser filters where
  $draw() includes draws and dispatches, but $dispatch() only includes
  dispatches, it's hard to intuitively understand why $draw() matches all
  of these calls.
* As a result we've defined the term 'action' to cover these types of
  events in the same way that we defined 'event' in the first place to
  mean a single atomic API call.
2021-07-01 15:15:05 +01:00
baldurk 44431cd536 Explicitly mark depth states as 'disabled'. Closes #2296
* On all APIs when depth is disabled the writes are skipped as well. Explicitly
  set the function and write state to say that they are disabled.
* This also papers over a weirdness on D3D11 which has confused a couple of
  people, where the retrieved desc with GetDesc() on a state object can be
  different to the one it was created with when you set ignored parameters -
  like the depth function with depth disabled.
2021-06-22 10:37:49 +01:00
baldurk 16937f160e Fix a crash when push constants are provided insufficient data 2021-06-17 14:30:23 +01:00
baldurk b4ec703d97 Expose shader printf messages in the UI 2021-05-11 16:15:31 +01:00
baldurk 270d4e5b07 Add resource usage entries into context menu in pipeline state viewer 2021-04-19 16:44:19 +01:00
baldurk da66701649 Don't mark bufferless constant buffers as empty due to stage masks
* These aren't present for push constants etc, so we ignore it
2021-04-16 13:55:38 +01:00
baldurk eac94b74f6 Allow cbuffer previewer to apply custom format to non-buffer-backed CBs
* This in particular means push constants and specialization constants on vulkan
  but also applies to root-value cbuffers on D3D12.
* GL bare uniforms are not feasible to expose in this way.
2021-04-14 18:59:12 +01:00
baldurk 30dd13feb8 Pull index byte width and topology out of drawcall state
* These are treated as state on most APIs, only GL treats it as a drawcall
  parameter.
2021-02-24 13:52:07 +00:00
baldurk fd14fdbfa8 Add missing column of data to constant buffer array parent 2021-02-22 16:47:21 +00:00
baldurk 026da176bb Update copyright years to 2021 2021-01-13 13:56:10 +00:00
baldurk fd1b051d2c Add helper for selecting sample mask, which varies in location by API 2020-12-18 14:05:54 +00:00
baldurk 3aaccc4fda Use rdcfixedarray in parameters for functions instead of C arrays
* This maps better to tuples in python
2020-12-15 22:52:38 +00:00
baldurk 58e16414e0 Add a number of control functions to the Qt python interface 2020-11-20 17:02:33 +00:00
baldurk 695ffaaf24 When viewing a texture from pipeline state, default to view typecast 2020-10-30 16:28:03 +00:00
baldurk 42c5ab849e Show dynamically unused slots as unused (italic text) on vulkan pipeline 2020-10-16 16:13:30 +01:00
baldurk 55c57f7e89 Display stencil values in binary and decimal in tooltips. Closes #2052 2020-10-01 15:56:52 +01:00
baldurk 8ca96aa83a Fix arrays of UBOs not displaying properly in vulkan pipeline state 2020-09-11 16:32:17 +01:00
baldurk 56f82f6bf1 Optimise UI for large descriptor arrays with few dynamically used binds
* We tune the pipeline state view and texture viewer to only iterate over a
  small list of dynamically used binds in the (vastly more common) case where
  unused binds are not being shown.
2020-09-03 18:09:47 +01:00
baldurk 83f7a26ee9 Query which shader disassembly formats require a pipeline
* This allows us to be a bit more friendly in the UI when we don't have a
  particular pipeline associated with a shader.
2020-09-01 14:03:59 +01:00
baldurk 9f2fdd6d64 Show view in vulkan pipeline state view when significant 2020-07-06 13:27:10 +01:00
baldurk 3f089b0c92 Don't treat binds with 0 stageMask as completely empty
* We can still highlight them as empty the same as we do for insufficiently
  sized constant buffers, but we should display the proper resource contents.
2020-07-06 13:26:49 +01:00
baldurk 35854957db Add support for VK_EXT_extended_dynamic_state 2020-07-03 15:43:00 +01:00
baldurk ed7d774fd4 Fix crash opening non-buffer-backed unused constant buffers 2020-06-29 13:10:50 +01:00
baldurk d4ddb565d0 Add a per-shader debuggable flag to allow finer grained status
* E.g. on D3D12 we can debug DXBC shaders but not DXIL shaders. On vulkan this
  will allow us to have the UI work better when encountering shaders with
  unsupported capabilities or extensions.
2020-06-18 17:22:45 +01:00
baldurk 88231cbe41 Disable stages in vulkan pipeline state view if raster discard is on 2020-06-04 16:17:31 +01:00
baldurk 1cd32d3f61 Implement support for VK_EXT_robustness2 2020-05-28 15:54:36 +01:00
baldurk e265a1bfb4 Add support for VK_EXT_inline_uniform_block 2020-05-22 14:03:47 +01:00
baldurk 343944db61 Fix anisotropy being lost when applying bias to sampler 2020-05-06 19:35:50 +01:00
baldurk 2eaeb96799 Add UI to vulkan pipeline state viewer to allow compute debugging 2020-04-29 18:48:50 +01:00
baldurk 2980742a3a Add wrapper struct TextureSwizzle4 to be more swig-friendly
* Swig doesn't like having fixed C arrays of enums, so wrap it in a struct to
  make it more clear.
2020-04-17 16:53:54 +01:00
baldurk 936e6372cb Remove use of 3rdparty/ prefix from includes
* We instead always have 3rdparty/ in the relevant include search paths and rely
  on that. Each library still has its own unique base dir within 3rdparty to
  clarify where the include is coming from.
2020-03-11 18:00:53 +00:00
baldurk a18716e63d Fix crash if no drawcall is selected when exporting pipeline state 2020-03-05 11:15:48 +00:00
baldurk 7dd116abd4 Remove redundant/tautological comparisons identified by PVS Studio 2020-01-21 18:28:56 +00:00