Commit Graph

179 Commits

Author SHA1 Message Date
baldurk f24b6c99e3 Format API call strings using important tags 2021-07-01 15:15:02 +01:00
baldurk 5252a3b9b7 Refresh event browser model when resource renames change 2021-07-01 15:15:02 +01:00
baldurk 038b1d451a Unselect current item if we get set to an event which is filtered out
* This can happen with bookmarks or anything else in the UI that sets the
  current event.
2021-07-01 15:15:02 +01:00
baldurk a253f01bb2 Add some bullet-proofing against invalid model indices 2021-07-01 15:15:02 +01:00
baldurk 7c2e7bff47 Fix previous/next drawcall buttons when some drawcalls are filtered out 2021-07-01 15:15:02 +01:00
baldurk 3c0e0803f9 Display the range for markers in the EID/draw columns 2021-07-01 15:15:02 +01:00
baldurk b591b12eac Preserve event browser expansion across filtering 2021-07-01 15:15:01 +01:00
baldurk ec5f570fea Add 'important' flag on structured data 2021-07-01 15:15:01 +01:00
baldurk 5dd3c95ee3 Add flags (not currently exposed in UI) for some different behaviours 2021-07-01 15:15:01 +01:00
baldurk 562905611d Update fake markers to work with new event browser model
* Fake markers now need a real event ID. We don't want to have to remap all
  events in a capture between UI and replay driver, so instead we assign non-
  contiguous events above the normal range and expect the UI to handle it.
2021-07-01 15:15:01 +01:00
baldurk c4e330ea05 Remove jump-to-EID button in event browser, merge with find
* When you search for a plain number (or explicitly @123) it will return that
  EID in the find results first.
2021-07-01 15:15:01 +01:00
baldurk 163cd4668c Searching for an EID should return it first before any text results 2021-07-01 15:15:01 +01:00
baldurk dcaabf42e9 Allow python to register custom event filters 2021-07-01 15:15:01 +01:00
baldurk 21e52a10e5 Implement builtin filter expression parsing 2021-07-01 15:15:01 +01:00
baldurk 85954dabbf Add simple stubbed UI for entering filter expressions 2021-07-01 15:15:01 +01:00
baldurk b9476bad24 Add stubbed filter implementation, with hardcoded default filter
* This replicates the original filter behaviour, only draws with PopMarker draws
  excluded
2021-07-01 15:15:01 +01:00
baldurk c01c25d5d6 Cache chunk pointer as well as draw pointer
* This will be needed regularly for the filtering process so we want to be able
  to query both out per-EID.
2021-07-01 15:15:00 +01:00
baldurk aecf687098 Change event browser model to be event-based 2021-07-01 15:15:00 +01:00
baldurk 3a5e98f34e Cache model indices at draw nodes
* This significantly improves parent() and lookups by EID
2021-07-01 15:15:00 +01:00
baldurk 7793f20d1a Switch event browser to use a tree view with an item model 2021-07-01 15:15:00 +01:00
baldurk 00efa28f2f Fix a crash if user tries to toggle bookmark with no capture loaded 2021-06-30 16:18:08 +01:00
baldurk b4ec703d97 Expose shader printf messages in the UI 2021-05-11 16:15:31 +01:00
baldurk 728fa34acc Move branch colouring to RDTreeView 2021-02-24 13:52:07 +00:00
baldurk 0f07545151 Add context menu item for toggling bookmarks on events 2021-02-18 15:41:55 +00:00
baldurk 026da176bb Update copyright years to 2021 2021-01-13 13:56:10 +00:00
baldurk 7ff7e0a71d Replace fixed C arrays with wrapper class in public interface
* These map more naturally to python tuples and are easier to wrap in and out.
* We also tidy up the FloatVecVal etc and standardise the members of
  ShaderValue.
2020-12-09 18:16:08 +00:00
baldurk 9610919c16 Fix copy-paste of rich resource text
* We need to cache to the QString text on demand, which requires a context
  potentially sooner than paint/etc time.
2020-12-02 17:44:46 +00:00
Kevin McCullough e213cfafa9 Modifying the TextureList to use EventBrowser-style chooser. 2020-10-15 22:19:44 +01:00
baldurk 936e6372cb Remove use of 3rdparty/ prefix from includes
* We instead always have 3rdparty/ in the relevant include search paths and rely
  on that. Each library still has its own unique base dir within 3rdparty to
  clarify where the include is coming from.
2020-03-11 18:00:53 +00:00
baldurk 2916c0f9f7 Update copyright years to 2020 2020-01-06 16:20:45 +00:00
baldurk 4458ab3205 Remove assumptions that captures are always frames
* Previously we had "Frame X" and "Start of Frame" hardcoded in the event
  browser, and the end of frame was in many cases assumed to be a present call.
  However with the in-application API this is not necessarily true.
* Presents are now serialised separately in all APIs and displayed wherever they
  happen in the frame, and if there is no present at the end of the frame an
  "End of Capture" marker is inserted. Similarly API-defined captures are not
  given a potentially misleading frame number.
2019-11-21 17:09:01 +00:00
baldurk 4e6af7a47a Don't crash if the event browser isn't open when opening a capture 2019-10-10 16:48:42 +01:00
baldurk e3d902e686 Don't try to set find icons if no capture is loaded 2019-09-30 16:30:40 +01:00
baldurk 78ae520e3a Hide find/jump toolbars when closing a capture 2019-08-01 12:00:23 +01:00
baldurk de37c7d005 Check if the capture is closed while a timing request is pending 2019-04-12 15:11:26 +01:00
baldurk 86ff87863e Update copyright years to 2019 2019-02-01 18:32:13 +00:00
baldurk 317e89f7cb Add QIODevice::Text for text writing, to convert newlines. Refs #1246 2019-01-28 19:55:39 +00:00
baldurk 69a76bfb41 Use ASCII name for duration column in draw list export. Refs #1246 2019-01-24 10:15:36 +00:00
baldurk ce88558a7c Refactor RDTreeWidgetDelegate into RichTextViewDelegate that is reusable
* This allows us to add rich text support much more easily into other itemviews
  like RDTableView.
* We set it up for debug messages so that resource links in debug messages can
  be linked.
2018-12-17 17:10:34 +00:00
baldurk 8447e43e78 Fix panel menus 2018-10-23 15:15:39 +01:00
baldurk 94dfb9890b Allow registering window, panel and context menu items with callbacks 2018-10-23 14:23:12 +01:00
baldurk 995caa2636 Implement empty-marker hiding options for event browser 2018-10-04 16:07:36 +01:00
baldurk 10b82e6255 Fix possible race condition with capture loading
* The event browser called SetEventID from OnCaptureLoaded, which would then
  call OnEventChanged on all viewers, which if they kicked off work could happen
  at the same time as the later call to OpCaptureLoaded for them.
* In the mesh viewer this seemed to lead to a race condition and had a chance to
  corrupt memory.
2018-07-13 15:43:55 +01:00
baldurk 650a80db47 When searching start at selected not current event. Closes #1030
* When selecting a marker region, the more intuitive search is to find children
  of the marker first before searching onwards, even if the 'current event' is
  at the end of the marker region.
2018-07-09 16:28:03 +01:00
baldurk 0dda96a045 Change previous/next/parent IDs in DrawcallDescription to pointers
* This is a legacy holdover from the C# interop not being able to preserve
  pointers easily.
2018-06-18 18:39:06 +01:00
baldurk 082ab4d75d GUIInvoke takes a QObject* to avoid callbacks after object lifetime
* The GUIInvoke object takes a QObject, and uses QPointer to check that
  it hasn't been deleted when the callback fires. This prevents delayed
  callbacks from executing after the object has been deleted and
  crashing.
* In most cases the pointer is just 'this'.
2018-05-08 11:54:34 +01:00
baldurk 2d0f675ca8 Add socket-based interop with RGP and profile embedding in captures 2018-04-25 19:10:51 +01:00
Baldur Karlsson 68a3f3a31f Filter out previous/next drawcall shortcuts when text editing.
Closes #911

editing.
path.
'ad0678a'.
2018-03-12 15:46:44 +00:00
baldurk cad5520238 Tweak the event browser to support richtext in drawcall names
* This lets Resource ID text become links to the resource inspector even
  in drawcall names (like glBlitFramebuffer(src, dst)).
2018-02-13 21:10:06 +00:00
baldurk 65ef82466c Re-organise Analytics structures a bit to be more processing friendly 2018-01-19 13:57:02 +00:00