Commit Graph

2723 Commits

Author SHA1 Message Date
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 6ea7710380 Use a contrasting fore ground colour for BufferFormat error style
This makes it automatically work for Light or Dark theme
2023-11-16 09:00:14 +00:00
baldurk f2c1435a7d Make it more clear that wayland is unsupported at build time. Refs #3124 2023-11-13 11:45:39 +00:00
baldurk 4a1d1896b7 Try to avoid being forced onto unsupported wayland path. Refs #3124 2023-11-13 11:45:39 +00:00
William Pearson e03d7c9002 Fix links in buffer format help
The buffer format help can be accessed via first opening the raw
buffer viewer (e.g. from the actions section on the texture viewer),
and then clicking the "?" under saved formats. It includes a nice
summary of the format syntax, but says that "Exhaustive documentation
can be found in the online docs." That was supposed to include a link
to https://renderdoc.org/docs/how/how_buffer_format.html, and in fact
it renders as if it were link, but clicking on it did nothing.

This has been fixed by adding `Qt::LinksAccessibleByMouse` and
`Qt::LinksAccessibleByKeyboard` to `textInteractionFlags`, and also
setting `openExternalLinks` to true (which requires use of a
`QTextBrowser` instead of a `QTextEdit`). I left the full list of flags
as `Qt::TextBrowserInteraction` does not include the
`TextSelectableByKeyboard` flag (which seems useful here and was
included before).

I verified that other uses of links work properly via checking all of
them found via `git grep href`:
* CaptureContext: Uses `QMessageBox` which defers to the style's `SH_MessageBox_TextInteractionFlags` which in practice has at least `Qt::LinksAccessibleByMouse`:
  * https://github.com/qt/qtbase/blob/v5.15.11-lts-lgpl/src/plugins/styles/mac/qmacstyle_mac.mm#L2850-L2852
  * https://github.com/qt/qtbase/blob/v5.15.11-lts-lgpl/src/widgets/styles/qcommonstyle.cpp#L5303-L5305
  * https://github.com/qt/qtbase/blob/v5.15.11-lts-lgpl/src/widgets/styles/qfusionstyle.cpp#L3702-L3703
* AboutDialog: sets `openExternalLinks` to true on the `version` and `contact` labels in the ui file
* AnalyticsConfirmDialog and AnalyticsPromptDialog: uses `on_label_linkActivated` as an automatic slot (as it needs custom handling for opening the documented analytics report)
* SettingsDialog: uses `on_analyticsDescribeLabel_linkActivated` as an automatic slot (and only has an internal link for opening the documented analytics report)
* CrashDialog: several different ones:
  * captureFilename works via `on_captureFilename_linkActivated` as an automatic slot (and opens a file in explorer)
  * reportText has `openExternalLinks` in the ui file
  * on_send_clicked uses `RDDialog::information` with an email address, which uses `QMessageBox` (see CaptureContext)
  * finishedText has `openExternalLinks` in the ui file
* ExtensionManager: sets `openExternalLinks` to true on the `URL` and `author` labels in the ui file
* TipsDialog: sets `openExternalLinks` to true on the `tipUrlLabel` label in the ui file
* nv_counter_enumerator.cpp: sets `openExternalLinks` to true on the `counterDescription` label in PerformanceCounterSelection.ui
2023-11-09 17:57:02 +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 063a92d930 Update from toolwindowmanager repository @ 4e4280ca78c 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 dcbbcee6a8 Add some fixes. 2023-11-06 14:42:45 +00:00
Er2 86cb3ebf80 Add FreeBSD operating system support. 2023-11-06 14:42:45 +00:00
baldurk 8b4f04c58f Allow the pipeline flow chart control to change stages dynamically 2023-10-30 10:24:30 +00:00
Firestar99 62f9986922 fixed cmake version gate using too low of a version for CMP0135, try 2 2023-10-12 17:55:06 +01:00
baldurk 0202a066a9 Update year in about dialog 2023-09-28 16:37:17 +01:00
baldurk 8cd37f019e Avoid warning on newer cmakes 2023-09-13 16:25:24 +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
William Pearson afb4d76dd2 Blend pixel history widget background color with selection color
Before, if a row was selected, the color was completely replaced, which
makes the color preview column completely useless for that row.

This change also fixes some inconsistencies with how the selection hover
works on tree widgets; previously part of the row was not highlighted.
2023-08-10 10:59:32 +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
Jake Turner 75d7e06eb5 Handle non-square checkboxes : adjust to make them square
Extension of 7452e29cec
2023-07-30 14:51:18 +01:00
Jake Turner e0bb46979f Change RenderDoc style checkboxes to use checks for low contrast themes
Include InidicatorCheckBox style to match style change in 7452e29cec
2023-07-29 17:27:42 +01:00
baldurk 68ff839dd6 Make gcc happier with escaped \\ in comments 2023-07-26 23:13:48 +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 7452e29cec Change RenderDoc style checkboxes to use checks for low contrast themes
* Deliberately low contrast themes like the dark theme can have issues showing a
  box that is filled vs just a plain rectangle which is harder to read at a
  glance. Changing the fill to an X icon gives extra readability on the dark
  theme.
2023-07-26 14:40:23 +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
baldurk 6e0ea69011 Account for arrays of pointers when calculating buffer offsets 2023-07-25 17:47:09 +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
jake.turner 958ab08018 Add missing ")" R11G11B10 GetBufferFormatString()
"[[packed(r11g11b10]] float3" -> "[[packed(r11g11b10)]] float3"

There was a missing ")"
2023-07-12 18:00:52 +01:00
baldurk c328c3fdf7 Fix raw html leaking in an error message 2023-06-23 18:58:26 +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