322 Commits

Author SHA1 Message Date
baldurk eeb4bf9f04 Fix extra checkbox added for ordered list editors 2026-03-05 16:35:04 +00:00
baldurk 352b88b344 Allow double clicking on resource annotations 2026-01-28 14:42:11 +00:00
baldurk 58eb49ce5b Expand RDTreeWidget to allow per-item go column
* This lets us use the existing logic for hovering columns, to get things like
  the hand cursor, while still only showing it for resource entries.
2026-01-28 14:42:11 +00:00
baldurk 2dd3df5aa1 Resize annotation key column to fit contents
* All other space is used by the value
2026-01-28 14:42:11 +00:00
baldurk 73f441f6c3 Ensure annotations are displayed for default event on capture load 2026-01-28 14:42:11 +00:00
baldurk 070177c232 Use natural sort to sort children in annotations 2026-01-28 14:42:11 +00:00
Remi Palandri 772e697fed Allows more than 3 lines per annotation to be shown 2026-01-28 14:42:10 +00:00
Remi Palandri aaf19a128c add metadata support to annotationviewer for buffers 2026-01-28 14:42:10 +00:00
Remi Palandri 8f9705333a hide empty annotations
Only displays annotations when they're not an empty node (struct only) with empty children. Needs to look at children recursively, as deleting foo.bar.baz would keep foo and foo.bar alive.
2026-01-28 14:42:10 +00:00
baldurk 4afe5017b0 Add a right-click handle to show an annotation in the event browser 2026-01-28 14:42:10 +00:00
baldurk 13ad7875f2 Add annotation display in resource inspector and as standalone panel 2026-01-28 14:42:10 +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
baldurk 7e518e813c Add support for fully customised mesh viewer controls 2025-12-08 15:50:17 +00:00
baldurk b9b8fe4b1b Claim proper contents margins for height of RDLabels with rich text 2025-09-16 16:29:57 +01:00
baldurk 0fb918909e Fix ordered list editor to look up row instead of caching
* The widget was persistent so caching the row in the callback could lead to an
  invalid (or wrong) row being used.
2025-05-16 16:01:28 +01:00
baldurk 0f019eafb9 Add option to make shader search paths non-recursive
* For very large shader symbol stores especially those on network drives, the
  bad behaviour that PIX has to recursively search all possible subdirectories
  and enumerate all files can be really slow. Most of the time a file is
  identified by its hash filename and looked up directly - if that isn't a hit,
  in many cases users would rather a fast exit to having no symbols.
2025-04-16 17:39:51 +01:00
baldurk e4af8bcf39 Only close texture goto when focus is lost
* Previously this closed as soon as the mouse left the bounds.
2025-03-28 17:09:51 +00:00
baldurk 2322e165de Update copyright years to 2025 2025-03-14 18:54:37 +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 4b527239ae Fix making QTreeView function public in RDTreeView 2024-12-19 15:46:42 +00:00
baldurk c9a621a812 List registers last in shader viewer tables 2024-12-19 15:13:52 +00:00
baldurk 69324f8e07 Group apply button with format text box in buffer formatter
* The apply button used to be below the text box but now can be hard to see with
  the saved formats also in the way.
2024-12-13 16:48:16 +00:00
Honeybunch 3ea9735866 Mesh Shader Debugging 2024-11-20 10:50:14 +00:00
baldurk 41adeb65b1 Add UI to manage the list of ignored PDBs for callstacks. Closes #3329 2024-06-27 13:54:41 +01:00
baldurk be905c031d Only apply contrasting foreground colour if there is a background colour 2024-05-30 12:31:51 +01:00
baldurk 176a0909fa Save buffer formats immediately on change 2024-05-27 10:13:57 +01:00
baldurk 1ad23f64ca Use hack to customise expander colour in treeview branches. Closes #3319 2024-05-17 11:41:53 +01:00
baldurk 317c670fd5 Update GL pipeline state viewer to use new descriptor access 2024-04-10 18:58:52 +01:00
baldurk fc238ab9da Add a copy entry to the debug messages right-click menu 2024-04-01 16:04:58 +01:00
baldurk 9f4f0e6aa1 Update copyright years to 2024 2024-02-12 11:04:52 +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
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
baldurk 8b4f04c58f Allow the pipeline flow chart control to change stages dynamically 2023-10-30 10:24:30 +00:00
baldurk 9d39b8e1a8 Reformat code for clang-format 15 2023-09-05 11:02:08 +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 760bfdcb40 Disable find-as-you-type keyboard searches in buffer viewer
* This will cause the model to evaluate every data item to search it, which is
  the exact thing we're trying to avoid with lazy item views.
2023-03-08 14:06:02 +00:00
baldurk ab653e7063 Don't process completions in widget if completion is not enabled 2023-02-06 11:28:10 +00:00
baldurk 4a7dea43dc Emit a resized event on the resource preview when thumbnail resizes
* If the overall preview widget doesn't resize but the thumbnail does because
  the preview text label has changed in size, we should emit a resize event so
  the thumbnail can be redrawn.
2023-02-02 13:14:57 +00:00
baldurk d47e79ae07 Update copyright years to 2023 2023-02-01 12:23:32 +00:00
baldurk d11da2f3a1 Refactor texture viewer thumbnails to not use swapchains
* There seems to be a significant slowdown when using real swapchains, both for
  creation and display. Since thumbnails don't update often (only on event
  change, or if the panel is resized which is not a regular occurence)
  counterintuitively it's better to render and readback the image offscreen and
  re-upload it on the CPU.
2022-11-09 14:14:24 +00:00
baldurk 70676a57a4 Fix a Qt error setting layout into buffer format specifier 2022-05-27 10:44:10 +01:00
baldurk 4b0b746217 Don't clear annotations when only style changes 2022-05-25 17:02:17 +01:00
baldurk 91675e8dbb Improve sizing of custom format setcion and use splitter between sides 2022-05-25 16:31:46 +01:00
baldurk 702e361393 Unregister F5 shortcut in buffer formatter 2022-05-25 14:09:37 +01:00
baldurk 8d5950af89 Add F5 as a shortcut to update the buffer format 2022-05-23 16:32:35 +01:00
baldurk c5a588d2e4 Fix texture-as-buffer view format string generation 2022-05-23 14:43:08 +01:00
baldurk 2d8687e28e Show parse errors on the line they occur 2022-05-20 14:15:31 +01:00
baldurk abe645f031 Add support for saving and loading structure definitions 2022-05-20 14:15:30 +01:00
baldurk 43fa3cd94b Use BufferViewer for viewing constant buffers
* Unifying these views means that constant buffers have all the same
  reformatting and it avoids having multiple paths for what is now effectively
  the same control (a buffer can either have fixed data, repeating data, or
  both)
2022-05-20 14:15:30 +01:00
baldurk a36516c8a5 Explicitly handle unbounded arrays and display declared fixed vars
* GL and Vulkan allow buffers to have fixed variables before a trailing AoS
  unbounded array. These fixed variables can't be easily displayed in a table
  and previously we skipped them. Now we display these in a tree format.
* We also support formats which don't have an unbounded array at all and display
  these just with the tree. This will allow the BufferViewer to subsume the
  capabilities of the ConstantBufferPreviewer (though it needs to handle opaque
  non-buffer-backed variables, and slot-following).
2022-05-20 13:37:26 +01:00