* 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.
* 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.
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
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
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.
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.
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.
* 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.
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
* 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.
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().