Commit Graph

2310 Commits

Author SHA1 Message Date
baldurk 58b38337f1 Optimise tree view expand/collapse all to avoid slow Qt path 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 385a254966 When rendering richtext documents, override document color for selection 2021-07-01 15:15:02 +01:00
baldurk 28c8a18617 Allow rich text to contain and embed html tags 2021-07-01 15:15:02 +01:00
baldurk b2b6f4a7cf Use line-height to get consistent rendering of rich text vs normal text
* Without this lines without icons actually end up smaller, meaning text between
  different rich texts without a common table doesn't align together.
2021-07-01 15:15:01 +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 b591b12eac Preserve event browser expansion across filtering 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 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 2f7855d6cc Optimise converting rich resource text to text only
* We don't have to do the full text document cache to just append the strings.
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 a8d891bc8f Fix compile warning on linux with Qt metatype comparison 2021-07-01 15:14:54 +01:00
baldurk 4b740b350e Don't identify things like param@5 as referring to EID @5 2021-06-30 16:18:08 +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 c451dc81f3 runTo expects an instruction instead of a step index 2021-06-30 16:18:08 +01:00
thisisjimmyfb 8059f129d5 add clickable links for Vulkan Validation Layer messages 2021-06-30 13:32:44 +01:00
baldurk cc7115e24c Show better window titles for edited shaders 2021-06-28 13:10:11 +01:00
baldurk 44431cd536 Explicitly mark depth states as 'disabled'. Closes #2296
* On all APIs when depth is disabled the writes are skipped as well. Explicitly
  set the function and write state to say that they are disabled.
* This also papers over a weirdness on D3D11 which has confused a couple of
  people, where the retrieved desc with GetDesc() on a state object can be
  different to the one it was created with when you set ignored parameters -
  like the depth function with depth disabled.
2021-06-22 10:37:49 +01:00
baldurk 16937f160e Fix a crash when push constants are provided insufficient data 2021-06-17 14:30:23 +01:00
baldurk e15906fddb Polygon offset clamp is core now 2021-06-17 13:22:16 +01:00
baldurk 71b6e2b321 Speculative crash fix, protect against invalid indices in cbuffer tag 2021-06-15 16:24:25 +01:00
baldurk 51699a57b7 Fix python checks not properly running on enums, and fix new errors
* We whitelist a couple of cases where the naming scheme should be broken.
2021-06-08 16:34:52 +01:00
baldurk fe63f8b16d Set uniformRowHeights on Vulkan/D3D12 pipeline state tree widgets
* This prevents Qt from doing O(n) work to calculate row sizes in some cases
  when we know they're all going to be identical.
2021-06-08 14:23:56 +01:00
Jake Turner cf4ce8fc41 Apple Xcode added qrenderdoc sources and headers
Hardcoded to Code, Styles, Widgets, Windows *.h*, *.c*, *.m*
These files are not built by Xcode.
They are in the Xcode project to support browsing qrenderdoc source code.
2021-06-08 09:22:31 +01:00
Jake Turner 340a533715 Make OSX_ICONFILE Apple specific
Wrap it with if (APPLE) and APPEND to the config file
2021-06-08 09:22:31 +01:00
Jake Turner 7bfe758f57 Apple Xcode specify PATH for custom commands
Capture the PATH variable at cmake invoke time and store in the cache.
Use the captured PATH variable for the make based build targets custom_swig and QRenderDoc.
This fixes the problem on Apple Silicon that the Xcode PATH does not include the default homebrew paths (/opt/homebrew/bin /opt/homebrew/sbin)
2021-06-08 09:22:31 +01:00
Jake Turner 71243f505d Xcode generator setup for Apple
Restrict the schemes to match the configuration on the cmake command line
Disable Debug Document Versioning
Specify the executable path for build-qrenderdoc target
2021-06-08 09:22:31 +01:00
Jake Turner a71914c03d Apple qrenderdoc cmake remove extra space in RPATH 2021-06-08 09:22:31 +01:00
Jake Turner 4ea889c7c9 Make QMAKE_OSX_DEPLOYMENT_TARGET Apple specific
Wrap it with if (APPLE) and APPEND to the config file
2021-06-08 09:22:31 +01:00
Jake Turner 077c07f06f Use MAKE generator for qrenderdoc custom_commands
Use MAKE generator for any non-make cmake program not just ninja build system ie. Xcode generator
2021-06-08 09:22:31 +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 03c12d6e94 Set API inspector events list to uniform row heights
* This is a significant optimisation, otherwise Qt will iterate over every event
  and get its size, which can be expensive with the events being rich text
  strings.
2021-06-01 18:17:10 +01:00
baldurk c41a6b3740 Don't call output displays while closing a capture 2021-05-27 14:16:23 +01:00