Commit Graph

1784 Commits

Author SHA1 Message Date
Jake Turner 1fe8601769 Pixel History UI background swatch fix for R, RG formats
Set unused components to black (0.0 after range scaling).
2024-04-02 10:01:53 +01:00
Jake Turner 8d9cf9fdce Pixel History UI always show alpha for Shader Out 2024-04-01 19:15:46 +01:00
baldurk fc238ab9da Add a copy entry to the debug messages right-click menu 2024-04-01 16:04:58 +01:00
Louis de Carufel 4c4b2a32ae New bookmark context menu to rename and delete.
Missing forward declaration.
Fixed Linux compilation.
Added a context menu to Bookmark buttons for renaming and deleting.
2024-03-27 12:23:21 +00:00
Jake Turner 3cb8998841 Vulkan DebugPixel support for multiview debugging
Output "ViewIndex" into the pixel shader hits array
Select the pixel shader input which matches the viewIndex to the passed in view
Ignore the view parameter if set to ~0U (rd.ReplayController.NoPreference)
Ignore the view parameter if any subpass has empty multiviews
2024-03-13 07:58:48 +00:00
Jake Turner 7934d1d16e Change DebugPixel() to take a DebugShaderInputs struct
DebugShaderInputs struct contains existing the parameters:

sample
primitive

and a new parameter

view

Default constructor for DebugShaderInputs sets the parameters to NoPreference (~0U).
2024-03-13 07:58:48 +00:00
baldurk b9fd432d11 Report and handle source-level entry point name from exported name
* The compiler could compile an entry point "foo" into an export "bar". We use
  the exported name in most places as that's guaranteed to be unique by the API
  and used for cross-referencing, but when recompiling we pass the original
  source name as in the debug info.
2024-03-05 11:38:19 +00:00
baldurk 3e2340fe16 Add identified support for slang (the language and the tool) 2024-03-01 12:11:37 +00:00
Jake Turner 5b55188260 Pixel History UI draw background colour for UINT and SINT targets 2024-02-29 06:47:14 +00:00
Jake Turner 893142d7f0 In Pixel History always shaderOut for depth targets
Including when there is no pixel shader bound
2024-02-13 17:27:05 +00:00
Jake Turner e254e66ae4 In Pixel History View do not force shaderOut to show four components
Matches the formatting used for "Tex Before" and "Tex After"
2024-02-13 17:27:05 +00:00
baldurk 874920bc38 Fix potential crash on capture close accessing bad data
* Also added some conservative error checking on looking up chunk names.
2024-02-13 12:37:05 +00:00
baldurk 9f4f0e6aa1 Update copyright years to 2024 2024-02-12 11:04:52 +00:00
Jake Turner f938afee2c PipelineStateViewer support right-click copy of stencil values
Having NoSelection caused nothing to be copied to the clipboard

Examples of copied data

D3D12 `Front Greater Keep Keep Replace FF FF 55`
D3D11 `Front Greater Keep Keep Replace`
GL `Front Greater Keep Keep Replace FF FF 55`
Vk `Front Always Keep Keep Replace FF FF 01`

Closes #3240
2024-02-06 05:45:52 -08:00
Jake Turner 03ab274252 Fix off by one error in the slice range tooltip 2024-02-01 15:43:36 +00:00
Jake Turner 0a330ef593 Add slice information to the Pixel History Window Title 2024-02-01 15:43:24 +00:00
Jake Turner 0bfca6eeb3 Fix warning about duplicate 'label_4'
../../qrenderdoc/Windows/Dialogs/SettingsDialog.ui: Warning: The name 'label_4' (QLabel) is already in use, defaulting to 'label_41'.
2024-01-11 10:47:27 +00:00
baldurk 928de11118 Make pipeline flowchart more 'sticky' between mesh and normal draws
* It won't be as quick to revert to the normal pipeline, but stay showing the
  mesh pipeline.
2024-01-10 14:03:31 +00:00
baldurk 6fdea16fd1 Propagate subgroup size properly when recreating graphics pipelines
* Also add an additional indicator in the pipeline state view.
2024-01-10 13:59:29 +00:00
Jake Turner 65e77c56ba Vulkan PipelineSate CS Tooltip now says "Save Shader SPIR-V"
Minor copy-paste error used to say "Save Shader DXBC"
2023-12-22 12:53:40 +00:00
baldurk 54df5d5ca7 Tweak rendering of slider controls in RDStyle 2023-12-11 11:56:27 +00:00
Dan Hawson 442b48bb77 Mesh exploder
New 'Exploded' visualisation mode in BufferViewer with new exploder controls
hidden when not in 'Exploded' mode.

Change 'solidShading' and 'solidShadeMode' to 'visualisation' and
'visualisationMode'.

Hide the 'highlightVerts' widget when using 'Exploded' vis for both
real-estate and practical implementation reasons.
2023-12-09 11:40:30 +00:00
baldurk 4bccf2dac3 For indirect mesh shaders fetch up-to-date dispatch arguments
* This doesn't work for whole-pass mesh fetch, but and will cause
  inconsistencies between single draws due to non-determinism, but should avoid
  crashes.
2023-12-07 12:18:43 +00:00
Jake Turner 216fb0dc01 Offset and Size consistency display in BufferViewer UI
Use Formatter::HumanFormat() to get consistent formatting and to apply the UI formatting configuration mode for Offsets and Sizes i.e. Auto, Decimal, Hexadecimal.
2023-12-06 17:19:05 +00:00
Jake Turner 10b0eb2b85 Offset and Size consistency display in PipelineState UI
Use Formatter::HumanFormat() to get consistent formatting and to apply the UI formatting configuration mode for Offsets and Sizes i.e. Auto, Decimal, Hexadecimal.
2023-12-06 17:19:05 +00:00
Jake Turner 6ce881d5da UI and Config support for dec/hex display option for Offsets or Sizes
Used when fields are marked as being an Offset or Size
Include simple latch to trigger a UI refresh when closing the settings dialog.
Currently only connected to if the Offset/Size format option is altered
2023-12-06 17:19:05 +00:00
baldurk 92e0fab686 Clarify that buffer viewer displays a single subresource. Closes #3149
* Since the physical layout of subresources is not generally defined, the buffer
  viewer only displays one subresource at a time.
2023-12-05 12:37:09 +00:00
baldurk 118aa4b61d Hide widgets not used for raw buffer viewer 2023-12-05 12:35:30 +00:00
baldurk 6aa0263ace Don't crash if no mesh shader reflection is avialable on a mesh draw
* This is possible after a device lost event.
2023-12-04 19:11:47 +00:00
baldurk 9fe2ec5c2d Fix calculation of slices on 3D textures when viewing up/down mips 2023-12-04 19:11:27 +00:00
baldurk d52f97c225 Make sure buffer viewer panels can't be closed 2023-12-01 13:00:08 +00:00
baldurk 1df386847f Compile fix 2023-11-28 16:49:58 +00:00
baldurk be372cde46 Improve mesh viewer UI for task/mesh shaders range filtering 2023-11-28 16:19:05 +00:00
baldurk 400e712deb Fix crash opening task shader context menu with no task shader 2023-11-28 16:18:47 +00:00
baldurk 41d2e69d00 Remove unused lambda captures 2023-11-17 02:00:20 +00:00
baldurk 07b1c3f857 Add options to filter and correlate between task and mesh invocations 2023-11-17 00:47:55 +00:00
baldurk 1df7c1ae81 Implement mesh viewer support for task/mesh shaders 2023-11-17 00:47:55 +00:00
baldurk b0c97182f6 Implement baseline mesh shader on D3D12 2023-11-16 18:20:24 +00:00
baldurk 5ad3e67a2d Implement baseline mesh shader on vulkan
* This supports capture and replay of mesh draws, shader editing with printf
  support, overlays, and pixel shader debugging.
* Not supported yet include the mesh viewer and shader debugging.
2023-11-16 18:20:24 +00:00
baldurk 69dcb42a05 Add enums and API-agnostic handling for new task and mesh shader stages
* The enums are given after compute, to preserve indices for the normal vertex
  pipeline.
* Mesh dispatches are considered a new action type, rather than being bundled
  into the `Drawcall` type. This will allow them to be distinguished by API
  backends as needed. The UI treats them as drawcalls
* We apply this universally even though it's not relevant to D3D11/GL. It means
  a couple of empty array entries but it should not cause any significant
  issues.
* Shader messages will be identified by group and thread as with compute
  shaders. For mesh shaders there is an additional subdivision to identify them
  by task group, since each task group can submit a grid of mesh groups.
2023-11-16 18:20:23 +00:00
Jake Turner 769a2612d9 When loading a layout, force close any orphaned windows
An orphaned window has a NULL parent.
An orphaned window is unable to be re-opened if it already exists in m_ToolWindows because when it tries to raise the existing window it does not have a valid parent
2023-11-09 11:23:48 +00:00
Jake Turner 77b2c51355 Logging when layout's are loaded and saved 2023-11-09 11:23:48 +00:00
William Pearson b531fe90a8 Update Android SDK/JDK setting tooltips to match RDOC_CONFIG
Previously, the SDK tooltip was inconsistent between the label and the
text field/button, with the latter incorrectly saying the location of
adb.exe should be used. There also was no description at all for the
JDK option.

I've copied the descriptions from the RDOC_CONFIG macros in
android_tools.cpp, which should make it easier to set these correctly.
2023-11-09 10:15:45 +00:00
Er2 86cb3ebf80 Add FreeBSD operating system support. 2023-11-06 14:42:45 +00:00
baldurk 0202a066a9 Update year in about dialog 2023-09-28 16:37:17 +01:00
baldurk 9d39b8e1a8 Reformat code for clang-format 15 2023-09-05 11:02:08 +01:00
baldurk e7430226e9 Match SPIR-V version as much as possible when rebuilding shaders 2023-08-22 13:41:39 +01:00
Jake Turner d68a8e9dc4 Added "\n" to the Resource Preview tooltips
GL was missing them
The other APIs adding them as a precaution for the future
2023-08-21 18:50:17 +01:00
Jake Turner b2c97f2cf3 Use QPointer to track live capture windows during Shutdown
The save capture modal message box could process messages which could delete a LiveCapture, the pointer had already been copied into a local list, then try to use deleted memory.
2023-08-18 08:19:36 +01:00
William Pearson a214ffcaf3 Fix debug pixel at primitive and event message mixing parameter order up 2023-08-15 10:09:40 +01:00