Commit Graph

481 Commits

Author SHA1 Message Date
baldurk fcf298cff9 Implement support for predication on D3D12. Closes #2095 2026-02-04 22:33:57 +00:00
baldurk 856c838def Update copyright years to 2026 and fix copyright ranges
* In a previous update in 2021 many copyright ranges were truncated
  accidentally, and some files have been copy-pasted with wrong years. These
  dates have been fixed based on git history and original copyright messages.
2026-01-05 14:17:28 +00:00
Jake Turner c2015de391 Resource Usage UI changes
Add a column that shows the parent marker for the event range (by default the end event ID)
Add an option to prevent combining resource usage across markers (group by marker)
The tooltip for a resource usage entry contains the full marker path
2025-12-03 11:20:23 +13:00
baldurk 0a15153330 Add a compute debugging UI selector to the GL pipeline state view 2025-12-02 12:17:36 +00:00
baldurk 2f6bb02347 Fix some sizing issues with CS labels in D3D11 pipeline state view 2025-10-21 23:31:22 +01:00
baldurk 4db8616ec4 Fix double click on FBO entry in GL pipeline state not opening texture 2025-10-21 23:31:22 +01:00
baldurk 824c8c1345 Don't match builtin inputs to vertex input attributes 2025-10-09 12:31:58 +01:00
baldurk 26cf7d3d7f Ensure shader reflection information is stored as const
* Avoids accidental modifications
2025-09-22 11:58:56 +01:00
baldurk 7734a36228 Fix shader clears to properly reset all labels 2025-09-17 11:26:08 +01:00
baldurk 1df4a75a97 Remove shader controls frames to allow full flow layout wrapping 2025-09-17 09:58:50 +01:00
baldurk 157941e31f Split shader/program labels in pipeline state views up to wrap better
* If program or shader names are very long then combining them can cause
  problems with how wide the widgets get. Splitting each element into a label
  that can wrap around and be truncated individually produces better behaviour.
2025-09-16 16:30:53 +01:00
baldurk fff4e0d5e4 Improve displayed sorting of descriptor buffer sets in pipeline state 2025-09-09 18:57:34 +01:00
baldurk d4c907faa1 Fix sorting of bindings in vulkan pipeline state with descriptor buffers 2025-09-03 10:01:48 +01:00
baldurk 799a9a8452 Report and display descriptor buffer state in pipeline view 2025-07-30 22:10:25 +01:00
baldurk ceb062b658 Add a DescriptorType to GetDescriptors query
* This will be optional in many cases but for some situations might be required
  when type information is not implicitly available in the descriptor store.
  Generally it should always be available unless the descriptor store is being
  viewed 'blank' purely from its contents with no other context.
2025-07-30 22:10:23 +01:00
baldurk 9545e6f27b Add specific annotation for GPU address serialised values 2025-07-30 22:10:22 +01:00
baldurk 82e963550a Display read-only DSVs more clearly in D3D pipeline state 2025-07-08 13:37:37 +01:00
baldurk 0293487eb8 Properly handle D3D11 constant buffers with a 0 range specified 2025-07-04 14:10:51 +01:00
baldurk 435956cf4d Format VK_WHOLE_SIZE properly on texel buffers in pipeline state 2025-05-26 15:00:00 +01:00
Tristan Ritchie 2eade4650b Add support for VK_KHR_maintenance5 2025-03-19 15:43:08 +00:00
baldurk 2322e165de Update copyright years to 2025 2025-03-14 18:54:37 +00:00
baldurk 5b2ec79df3 Fix missing handling of dynamic offsets. Closes #3547 2025-03-04 13:14:55 +00:00
baldurk 81268dc79a Try to preserve selected pipeline stage as much as possible
* When switching between mesh/normal pipeline keep the same stage selected if
  it's a common stage even if the index has changed.
2025-02-25 11:42:56 +00:00
baldurk 08d2ad0294 Update vulkan headers to 1.4.307
* Trivial promotion of these extensions:
  - VK_KHR_depth_clamp_zero_one
  - VK_KHR_compute_shader_derivatives
2025-02-13 18:32:21 +00:00
baldurk fb5a6a6133 Fix regression that all D3D11 output targets were considered used
* This would lead to them showing up as 'red' if they are unbound.
2025-02-05 16:36:55 +00:00
Faith Ekstrand 876212c4da Add special cases for Fossilize encoding of mutable descriptors
When mutable descriptor sets are used, Fossizlie needs the
VkMutableDescriptorSetCreateInfoEXT. However, instead of taking it raw
like some other inputs, it uses a simplified version that is just a list
of lists. If we give it full structs, Fossilize will crash. In order to
do this, we need a couple special cases.
2025-01-28 23:31:30 +00:00
Jake Turner 5cda9752e0 Display the D3D12 IA indexStripCutValue in UI control "Restart Idx"
Previously "Restart Idx" was hardcoded to 0xFFFFFFFF
Show "Disabled" if the indexStripCutValue is D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED (0)

Similar UI behaviour to the GL pipeline state viewer

Closes#3508
2025-01-02 09:44:10 +00:00
baldurk ec261a2f85 Use API entry point not source entry point when decompiling source 2024-11-05 10:12:16 +00:00
Shahbaz Youssefi 76b6d47f9c Support VK_KHR_dynamic_rendering_local_read
Fixes #3341
2024-11-04 16:58:03 +00:00
baldurk f0389a6ccc Fix crash if opening D3D11 cbuffer view with no shader bound 2024-09-24 14:14:13 +01:00
baldurk c75f1a1499 Clamp element size to avoid divide by 0 2024-07-15 16:44:23 +01:00
Jake Turner 51612fdc94 Vulkan PipelineState search for vertex attributes by register location
Closes #3379
2024-07-10 13:34:30 +01:00
Jake Turner 1307393836 D3D11 PipelineStateViewer use UAV tag for CS UAV resources
Fixes problem that going to a compute shader UAV Buffer would not show the correct format for the buffer
2024-07-02 13:49:44 +01:00
Jasmine Hansen cb951ba689 UI support for shader objects
Info queries for pipeline state viewer and descriptor sets
Shader editing
2024-06-25 17:55:10 +01:00
baldurk 0943d8882f Harden descriptor access handling on both sides of the replay API
* Avoid generating bad descriptor accesses in the first place, and make the
  pipeline state more robust in that case so that it doesn't crash.
2024-06-25 17:25:16 +01:00
baldurk 47c5773d08 Fix crash in vulkan pipeline state viewer 2024-04-30 09:50:34 +01:00
baldurk 7e7bbf58a8 Reflect multiple entry points & ray properties from DXIL shaders 2024-04-26 13:55:19 +01:00
baldurk bdc06af0de Add reflection of acceleration structures in DXIL & new descriptor type 2024-04-19 10:04:26 +01:00
baldurk 431c11feb6 Fix warnings identified by clang 2024-04-10 22:17:14 +01:00
baldurk 1194531fc5 Add a descriptor viewer for showing all of a heap, root sig, or set 2024-04-10 18:58:53 +01:00
baldurk 153cd2aa16 Expose queries for descriptor stores and D3D12 root signature range
* This will allow a UI viewer or consumer of the replay API to more easily query
  'all' descriptors for a given store.
2024-04-10 18:58:53 +01:00
baldurk 12a17b12f4 Display push descriptor sets in vulkan pipeline state viewer 2024-04-10 18:58:52 +01:00
baldurk 0284d551ea Switch from specific Attachment structs to using Descriptor for outputs 2024-04-10 18:58:52 +01:00
baldurk 6194d5a5a0 Rename resType to textureType in ShaderResource to be more accurate 2024-04-10 18:58:52 +01:00
baldurk 205ed0e6fa Remove old shader bindpoint mapping handling entirely 2024-04-10 18:58:52 +01:00
baldurk acc533ec60 Update Vulkan pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk 5d13456a65 Update D3D12 pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk 317c670fd5 Update GL pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk e08107ebe8 Update D3D11 pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk f4e3087177 Update common pipeline state viewer code to not use bindpoint mapping 2024-04-10 18:58:51 +01:00