Commit Graph

287 Commits

Author SHA1 Message Date
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
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