Commit Graph

274 Commits

Author SHA1 Message Date
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
baldurk 8d34ea577d Add some missing tooltips for event browser location buttons 2022-05-06 13:17:09 +01:00
baldurk 8aa0390948 Add string messages to returned result codes to display to user
* Most of the main entry points that can fail with relevant reasons now has a
  way of specifying a message to return with it. This message can be displayed
  to the user to give more information or context about an error.
2022-04-26 16:21:54 +01:00
baldurk 8e76069ecf Switch watch variables control from table to tree widget
* This will allow watching structs or arrays
2022-03-07 14:45:44 +00:00
baldurk 08e7a55732 Fix potential crash internally to Qt when removing tree widget items 2022-02-19 10:24:33 +00:00
baldurk fcdea67879 Update copyright years to 2022 2022-02-17 17:38:32 +00:00
baldurk 142fe7c84f Allow editing the marker path as a location
* This lets you paste in a location to jump directly somewhere, for example.
2022-02-15 17:15:48 +00:00
Steve Karolewics f552b1b4e9 Prevent focus reset when typing in the compute debug selector 2022-02-08 16:27:55 +00:00
baldurk a16e1e7995 Add a python script to sort .ui files so grid layouts are in order
* This will help in future to keep diffs more readable
2022-01-10 17:30:57 +00:00
baldurk 1c3f30d90d Resave all UI files with Qt Creator 5.15
* This gets rid of anything that might be changed with the latest version when
  updating these files
2022-01-10 16:57:43 +00:00
Steve Karolewics ec785ba167 Add ability to debug compute shaders by dispatch thread ID
In some cases it is easier to know the dispatch thread ID you want to
debug rather than the group/thread IDs. This change adds a new window
when the debug button is clicked, to allow you to specify which thread
to debug in the most convenient way.
2021-10-19 18:14:53 +01:00
baldurk 6dd63c6aec Convert counter viewer to item model, sync filter with event browser 2021-10-18 14:14:36 +01:00
baldurk 620e75c2a1 Add a system for backends to handle device lost/OOM errors and report it
* The UI will become non-functional and the backend will be replaced with a do-
  nothing one that keeps things alive without needing error bulletproofing
  everywhere in the real backend.
2021-08-18 20:12:07 +01:00
baldurk 93f8a59a8f Linux compile fixes 2021-08-02 16:27:48 +01:00
baldurk 7e080857aa Fix an infinite recursion crash when opening the event browser
* If a capture was opened it would recurse between initialising the event
  browser and the marker breadcrumbs.
2021-08-02 10:05:42 +01:00
baldurk faebd8b3c7 Fix old breadcrumbs persisting into new captures 2021-07-28 11:37:14 +01:00
baldurk 34a65857b1 Use custom sort on shader messages for location/workgroup
* The default sorting is purely text based so 1,0,0 is followed by 10,0,0 not
  2,0,0. We customise the sort so it does the right thing per-column.
2021-07-23 12:01:41 +01:00
baldurk f06171f733 When copy-pasting from a treeview, trim each line individually
* This helps with views that have icon-only columns at the start or end, which
  would generate unnecessary whitespace when copying multiple lines.
2021-07-22 11:08:28 +01:00
baldurk a88bc9dd7d Disable autocompletion for find/replace text 2021-07-20 16:58:55 +01:00
baldurk e182a477b8 Close floating find windows when pressing escape 2021-07-20 15:41:03 +01:00
baldurk d0accc409b Rename 'name' member of ActionDescription to 'customName'
* This is a deliberate break of compatibility since the field is now often
  empty, for non-markers. This means code will get a more explicit error when
  the name is being referenced, so it can be updated to fetch the name it needs
  as needed.
2021-07-01 15:15:05 +01:00
baldurk 7149302680 Rename 'draw' or 'drawcall' to action
* There's not a good accepted terminology for this kind of event, and for
  historical reasons 'drawcall' has been the accepted term, even though
  that can be quite confusing when a dispatch or a copy is a 'drawcall'.
* This is particularly highlighted by the event browser filters where
  $draw() includes draws and dispatches, but $dispatch() only includes
  dispatches, it's hard to intuitively understand why $draw() matches all
  of these calls.
* As a result we've defined the term 'action' to cover these types of
  events in the same way that we defined 'event' in the first place to
  mean a single atomic API call.
2021-07-01 15:15:05 +01:00
baldurk fe81f57316 Remove recent filters button in favour of styling a fake combo box
* The filter icon was confusing since it had a 'refresh' badge instead of
  'save/load/recent' type badge, and making the latter readable in a few pixels
  is not feasible. Having the combo dropdown with saved filters is as intuitive
  and works in-line.
2021-07-01 15:15:04 +01:00
baldurk a92ffa0173 Squeeze a little horizontal space by making root breadcrumb just an icon 2021-07-01 15:15:04 +01:00
baldurk 3d2101476e Add marker breadcrumbs to event browser. Closes #1031 2021-07-01 15:15:04 +01:00
baldurk c5457a141b Add settings popup that explains & documents filters 2021-07-01 15:15:03 +01:00
baldurk cb7fdc9b94 Add auto-completion prompts for filter function parameters 2021-07-01 15:15:03 +01:00
baldurk 195ab94e51 Implement filter function auto-completion prompts 2021-07-01 15:15:02 +01:00
baldurk e3f55c511d Add highlighting and display of filter parse errors 2021-07-01 15:15:02 +01:00
baldurk 58b38337f1 Optimise tree view expand/collapse all to avoid slow Qt path 2021-07-01 15:15:02 +01:00
baldurk 5a65cbf62c Tweak default item sizing in RDTreeView to better handle font scales
* We're somewhat trying to match Qt's behaviour here, as we want to ensure that
  the items are always sized as if they have space for an icon when
  ignoreIconSize() is true. In this case there's a +2 added "to avoid icons
  overlapping" but only after the decorationsize is max'd with the font size. In
  cases where the font is bigger than the icon, this is important.
2021-07-01 15:15:01 +01:00
baldurk a1a0dee085 Handle richtext delegate in RDTreeView instead of widget 2021-07-01 15:15:01 +01:00
baldurk 94b1dd3923 Add ability to update a working expansion struct instead of resetting
* This is mostly useful when using a filtering model so we want to save the
  expansion state of nodes that are temporarily filtered out
2021-07-01 15:15:01 +01:00
baldurk 21598b5d0c Fix missing override on function 2021-06-01 21:35:10 +01:00
baldurk ea16d31aa3 Invalidate cached hover index in tree view when model changes 2021-06-01 18:17:55 +01:00
baldurk c41a6b3740 Don't call output displays while closing a capture 2021-05-27 14:16:23 +01:00
baldurk 00e1f0056d Fix a crash if a table widget gets a copy shortcut with no selection 2021-05-19 11:44:41 +01:00
baldurk c715d2c7ad Pre-populate selected text in shader find dialog when pressing ctrl-f 2021-05-13 15:01:54 +01:00
baldurk e3eb2ee754 Fix sorting for texture viewer texture list 2021-04-20 13:51:41 +01:00
baldurk 9d3f7169ed Add thumbnails to texture tooltips in pipeline state view
* If there would be no tooltip otherwise, it just shows the thumbnail. Otherwise
  any tooltip text (like view parameters or image layout) is displayed below the
  thumbnail
2021-04-20 13:51:41 +01:00
baldurk 260583b805 Move tooltip handling from RDTreeWidget to RDTreeView 2021-04-20 13:51:41 +01:00
baldurk 270d4e5b07 Add resource usage entries into context menu in pipeline state viewer 2021-04-19 16:44:19 +01:00
baldurk 12d9b4f850 Add copy icon to treeview context menu 2021-04-19 15:30:19 +01:00
baldurk 95e6a4a971 Respect font scale for fixed-width fonts 2021-04-12 13:04:02 +01:00
baldurk 34ea6529c9 Account for rootIsDecorated when painting tree lines in RDTreeView 2021-04-12 13:04:02 +01:00
baldurk 728fa34acc Move branch colouring to RDTreeView 2021-02-24 13:52:07 +00:00
baldurk c6be4f7834 Fix highlighting of active thumbnail preview
* This was broken in fa674a59b6 where the style
  overrode the widget's foreground role. Changed to only use the custom
  light/dark role when the desired role is Text (or WindowText).
2021-02-22 12:38:43 +00:00
baldurk 1c37bfa02e Fix painting issues when scrolling with pinned columns 2021-01-25 16:14:03 +00:00
baldurk 026da176bb Update copyright years to 2021 2021-01-13 13:56:10 +00:00