Commit Graph

2667 Commits

Author SHA1 Message Date
baldurk dfed2749c9 Fix detection of scalar packing from only matrix layout. Closes #2918 2023-04-25 13:42:17 +01:00
baldurk 3d5bbb216c Detect and separately report windows 11 2023-04-25 10:07:25 +01:00
baldurk c520ad0e2b Fix formatting in ui file 2023-04-20 13:41:49 +01:00
William Pearson afbe26768d Draw arrows next to all tool buttons with menus
Before, only MenuButtonPopup had an arrow. This makes it more obvious
as to whether the button will immediately do something when clicked or
if it will open a menu to choose a specific action.
2023-04-14 19:04:15 +01:00
William Pearson 4c45c07160 Move subControlRect for CC_ToolButton to RDTweakedNativeStyle
This means the full rect won't be returned for SC_ToolButtonMenu if it
is used in a context where the default style doesn't expect the menu.

This is a separate commit to isolate future changes to this function.
2023-04-14 19:04:15 +01:00
William Pearson f82ef87595 Enable tooltips for shader execute forwards/backwards menus
MakeExecuteAction already sets tooltips for each QAction it creates,
but these are not used in a QMenu unless the toolTipsVisible property
is set to true.
2023-04-14 19:04:15 +01:00
William Pearson d150d8f2b7 Use instant popup for shader execute forwards/backwards buttons
There is no action associated with clicking the button itself, only for
the menu associated with it. Using QToolButton::MenuButtonPopup means
that the majority of the button is for the button's own action, and
there is a small arrow next to the button that shows the menu. Since
there's no action, this means that the small menu arrow needs to be
clicked each time instead of the big button, which is annoying.
QToolButton::InstantPopup instead always shows the menu (though it
doesn't have the arrow indicating a menu exists, although this is not
particularly important).

InstantPopup is also already used for the "Insert" button used when
editing a custom shader for the texture viewer. MenuButtonPopup is used
in many other places throughout RenderDoc, but they are all save or
export buttons where there is a meaningful default action.
2023-04-14 19:04:15 +01:00
William Pearson 07a2fd4b1a Remove specification of QToolButton popupMode when there is no menu
Specifically, the open button in the Python shell window and the blue
channel (only) in the texture viewer had values specified even though
they do not have an actual menu associated with the buttons. For the
texture viewer, this was explicitly set to the default value (delayed
popup); for the Python shell window the value is custom. The popup
mode is only used "for tool buttons that has a menu set or contains
a list of actions".

These were added in early commits for each feature, probably by
accident: 0837e66939 for the texture
viewer and 2a4596e06a for the Python
shell.
2023-04-14 19:04:15 +01:00
baldurk e43a59ab53 Save capture changes to local file not remote temp copy. Closes #2908 2023-04-14 14:03:28 +01:00
baldurk 75bfff3481 Mark UAV writes appropriately in GL pixel history 2023-03-24 15:04:15 +00:00
baldurk 3ba61e20a6 Fix handling of proxying S8 textures 2023-03-16 16:55:21 +00:00
baldurk f4529141d2 Fix backwards API terminology on resource usage strings 2023-03-13 17:38:59 +00:00
baldurk e81e00beb3 Environment variable modifications with an empty value are valid 2023-03-08 18:06:46 +00:00
baldurk d36d23ab21 Fix access to reserved columns for tooltips 2023-03-08 16:55:22 +00: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 6af4d895d8 Recalculate root if fake markers are present. Closes #2870 2023-03-06 15:14:04 +00:00
baldurk 9c71e9db02 Speculative fix for race during performance counter selection
* If the window is closed while counter enumeration is happening and that takes
  long enough this might break, so keep a QPointer around.
2023-02-22 10:14:17 +00:00
baldurk ab653e7063 Don't process completions in widget if completion is not enabled 2023-02-06 11:28:10 +00:00
KenLee 2eddf80770 MiniQtHelper: Add getteer and setter for CollapseGroupBox; 2023-02-03 16:02:13 +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 9eaabe516a Fix calculation of mip co-ordinates. Closes #2836
* Also adds a unit test to verify these helpers
2023-01-27 14:13:21 +00:00
baldurk b8b9fff7f0 Fix order, update texture before fetching histogram. Closes #2828
* This is only relevant when using a custom shader since otherwise nothing is
  'updated', though could also affect overlays potentially. If we don't then the
  custom shader texture may not have been re-rendered before we fetch the
  histogram data and we'll get stale information.
2023-01-25 10:38:16 +00:00
Leonard Tsai f578e62684 Allow multiple depth targets to be viewable in the TextureViewer 2023-01-18 12:56:47 +00:00
baldurk 82f205ead6 Add support for VK_EXT_image_view_min_lod 2023-01-17 18:39:06 +00:00
baldurk a440fa2a23 Add support for VK_EXT_non_seamless_cube_map 2023-01-17 18:39:06 +00:00
baldurk caa2ede2b1 Add support for VK_EXT_border_color_swizzle 2023-01-17 18:39:06 +00:00
baldurk bc2faaf3e6 Track preview when calling UI callbacks to avoid use-after-free 2023-01-05 16:39:51 +00:00
baldurk 3cbe4a37d1 Sanitise identifier names for types and variables in generating formats 2023-01-05 15:39:14 +00:00
baldurk b912ab4bac Fix std140 structs adding extra padding at end of structs 2023-01-05 15:39:14 +00:00
baldurk 0acb955e19 Create virtual distinction between Vulkan & GL SPIR-V. Closes #2798
* This distinction unfortunately does not exist in SPIR-V so we have to carry
  around this metadata ourselves. Rather than allowing free specification of
  tools based on API, instead pretend that Vulkan and GL SPIR-V are separate
  format, and duplicate all SPIR-V tools to handle "both" types. This allows
  appropriate tool selection based on the encoding.
2022-12-27 13:39:44 +00:00
baldurk b5545d52f8 Fix float precision/rounding issues for NPOT textures. Closes #2807 2022-12-27 12:23:05 +00:00
baldurk fee0218a33 Fix direct heap access not being displayed in D3D12 pipeline. Refs #2801 2022-12-21 23:03:39 +00:00
baldurk a40d61b72f Don't access invalid counter description for EID column in counter view 2022-12-21 23:03:39 +00:00
Jonathan Glines a08a9d8190 Enable external links in counter selection UI
Use QTextBrowser for the counter description widget, which allows for opening
links in an external browser.

This change is needed to make the link to NVIDIA Nsight Perf SDK clickable.
2022-12-21 23:02:50 +00:00
Jonathan Glines e5bb692caf Fix performance counters without a category
In the performance counter selection dialog, show counters without a category
at root of tree, rather than as children of a nameless "" category.
2022-12-21 23:02:50 +00:00
baldurk eab6a2c73c Fix python comparison operators throwing exceptions
* When used in richcompare this would throw an exception and return
  Py_NotImplemented causing a failure. Instead we should just return NULL, which
  is fine and will be considered as a not-equal comparison for
  equality/inequality and throw the kind of exception we want for less than or
  greater than.
2022-12-13 11:12:45 +00:00
Artur Wojcik df7a3562be Update the documentation of the ProgressBar widget 2022-11-28 14:41:00 +01:00
Artur Wojcik bae0d1992b MiniQtHelper: add ProgressBar widget 2022-11-28 14:41:00 +01:00
baldurk 9ffa334268 Set empty pixmap before setting text on pipeline state labels
* Setting an empty pixmap seems to clear out the text also sometimes. This order
  should always be safer.
2022-11-23 11:14:38 +00:00
baldurk dfe07d6822 Update application API to 1.6.0, add capture title setter 2022-11-21 13:49:15 +00:00
baldurk 153bc31a92 Fix off-by-one when searching for re-used arrays 2022-11-17 18:22:57 +00:00
Artur Wojcik 3624d6e30b Fix the invalid pointer dereference bug in the combo widget 2022-11-17 19:22:40 +01:00
Artur Wojcik 789a2a131c Use the previous naming to keep source compatibility 2022-11-17 19:22:40 +01:00
Artur Wojcik e630515813 MiniQtHelper: upgrade ComboBox widget
Added interface functions:
    - GetComboBoxCount() the function returns the number of
      combo box options currently set,
    - SelectComboBoxOption() - selects an active combo box
      option by name from the list of set options.

Updated interface functions:
    - Changed SetComboOptions() to SetComboBoxOptions to keep
      consistency in naming.
2022-11-17 19:22:40 +01:00
Artur Wojcik e2f3426dc6 MiniQtHelper: fix the bug in SetWidgetFont() while setting the font face
Signed-off-by: Artur Wojcik <artur.wojcik@amd.com>
2022-11-15 19:56:25 +01:00
baldurk 61fc2f82f2 Improve iteration for large unused descriptor arrays in D3D12 pipeline 2022-11-09 17:51:33 +00:00
baldurk f0644a2257 Fix issue where multiple thumbnails would be added for overlapping binds
* Previously we iterated over each bind, and found the matching resources. Now
  we iterate over resources and find the matching bind. This matters when there
  are multiple overlapping binds so they are only found once (we don't
  disambguate which bind was used, as we don't elsewhere currently)
2022-11-09 14:15:15 +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 2e276a7f84 Remove rdcarray sized constructor 2022-11-09 13:22:53 +00:00