Commit Graph

1768 Commits

Author SHA1 Message Date
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
baldurk 19d7b038c2 Don't allow tooltip to display if context menu is shown in shader viewer 2023-08-04 17:06:02 +01:00
baldurk 3d8ad35e9f Don't sanitise selected paths from remote hosts. Closes #3006
* If the remote host disconnects during the selection process we will no longer
  have a valid connection, we shouldn't sanitise the resulting path according to
  local filenames.
2023-07-31 17:08:37 +01:00
baldurk 7c1164e060 Tidy up and implement support for self capture on linux 2023-07-31 15:45:32 +01:00
KenLee 32ab4273bf Hide invalid shader resources
Fixed the problem that showing invalid shader resource in pipeline state viewer since v1.24

Revert "Hide invalid shader resources"

This reverts commit e62b6fa13d24bcd8c9d2e2109a140efe1c068736.

Hide invalid shader resources on D3D12
2023-07-26 22:01:46 +01:00
baldurk db6dadad6c Fix capture comments styling of links 2023-07-26 14:38:26 +01:00
baldurk 1033adc970 Remove explicit styling span in settings dialog, links style themselves 2023-07-26 13:37:10 +01:00
Jake Turner f56a989e4f Add Qt:WindowStaysOnTopHint to resource preview Closes #2971
Qt on Ubuntu 23.04 includes https://github.com/qt/qtbase/commit/f9e4402ffe, which during show() under certain scenarios (for example Qt::ToolTip windows) would destroy and recreate the xcb window.

Adding Qt:WindowStaysOnTopHint to the window flags for ToolTip windows prevents the xcb window from being destroyed and recreated during show().
2023-07-21 17:34:11 +01:00
baldurk 2887409961 Add support for VK_EXT_image_2d_view_of_3d 2023-06-21 12:43:33 +01:00
baldurk a6c1ba1fc5 Add support for VK_EXT_attachment_feedback_loop_dynamic_state 2023-06-21 11:40:42 +01:00
baldurk 4b87803071 Add support for VK_EXT_provoking_vertex 2023-06-21 11:40:42 +01:00
baldurk 910c316404 Fix .ui formatting 2023-06-15 14:45:37 +01:00
baldurk 96e39bb360 Help users who might be confused about adding custom tools 2023-06-09 12:18:55 +01:00
baldurk 0f851df6c2 Batch prepare and allow limited buffering for vulkan initial states
* We add a capture option that defines a soft limit we aim to keep under for
  memory overhead during capture, excess initial states after that will be
  stored temporarily on disk.
2023-06-02 18:53:45 +01:00
baldurk 7de3fb54ee Implement new D3D12 state & state setting commands 2023-05-19 14:54:39 +01:00
baldurk 28dcc80892 Implement D3D12's CreateSampler2 and new sampler parameters 2023-05-19 14:54:39 +01:00
baldurk c520ad0e2b Fix formatting in ui file 2023-04-20 13:41:49 +01:00