Commit Graph

815 Commits

Author SHA1 Message Date
baldurk 63e5448275 Fix naming of resource usage on GL/Vulkan 2021-07-28 11:37:14 +01:00
baldurk 124d0e71b6 Implement more flexible step/run options. Closes #2276 Closes #2312
* We split stepping for source debugging into step over/into/out depending on
  how it handles function calls. Step Into is the same behaviour as before - it
  steps to the next source line executed regardless of if it's inside a function
  call. Step Over is similar but will not enter function calls. We define that
  as the callstack growing (so staying the same or shrinking - returning from a
  function - is OK), and this is as accurate as the underlying debug
  information. Step Out will run until the callstack shrinks, i.e. returning
  from a function.
* This is a slight behaviour change of keyboard shortcuts - F10 was effectively
  doing step into and will now step over. F11 will step into which is the old
  behaviour.
* All these variants have backwards versions, and to remain consistent we keep
  the shift modifier as forwards/backwards. This differs from visal studio where
  step out is shift-F10.
* The seems like the best balance - using any other variant would likely confuse
  muscle memory of anyone used to visual studio (where these shortcuts are
  intended to mimick), if only because F10 would be step into whether or not F11
  is used for step over or some other key which would likely be even more
  confusing either way. Trying to twist to use Shift-F10 for step out would be
  inconsistent with the other backwards running operations and likely cause more
  confusion than it saves in matching VS's shortcuts exactly. Also an accidental
  Shift-F10 is not too destructive, the user can realise it didn't Step Out
  forwards, and press Ctrl-F10 or look up the button.
* The hope is that most likely people doing source debugging and familiar with
  these keys expect F10 to step over, so the previous behaviour was unexpected
  but easy to work around, and that changing the meaning of the key won't
  disrupt them. Or at least the disruption is less than other alternatives.
2021-07-21 13:39:26 +01:00
baldurk a8da2fed64 Respect palette foreground colour properly in rich text
* This is particularly relevant for custom-background colour items on dark theme
  where we may switch to dark text for contrast.
2021-07-15 16:41:23 +01:00
baldurk f5f1737c83 Fix a bug with URL handling that would add richtext twice 2021-07-15 16:41:23 +01:00
baldurk e4325a1cc1 Add debugPrintfEXT to glsl syntax highlighting 2021-07-14 15:33:12 +01:00
baldurk 3d3e7506aa Fix parameter generation for RGP event names 2021-07-10 21:30:34 +01:00
baldurk 7c7e9df847 Try to produce old action names for RGP
* This may not work forever but remains compatible for now.
2021-07-09 19:02:49 +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 3d2101476e Add marker breadcrumbs to event browser. Closes #1031 2021-07-01 15:15:04 +01:00
baldurk ca3e3afa66 Add saving of filters
* The current filter is preserved across runs even if it's not explicitly saved.
  Saved filters are only updated with an explicit save - loading a filter then
  making a change just cahnges the current scratch filter, it doesn't update the
  saved filter until the user explicitly saves it.
2021-07-01 15:15:03 +01:00
baldurk c5457a141b Add settings popup that explains & documents filters 2021-07-01 15:15:03 +01:00
baldurk 6272683678 Remove event browser settings about hiding empty regions 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 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 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 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 aecf687098 Change event browser model to be event-based 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
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 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 2ddf567fec Require explicit opt-in to enable process injection on windows
* This option (in spite of large warnings) continues to be a pitfall for new and
  experienced users alike, trying to use process injection without good reason
  and getting into trouble when it breaks.
2021-05-24 16:51:43 +01:00
baldurk b8d10c4875 Help visual assist ignore/skip parsing generated SWIG code
* This didn't used to be as much of an issue but it seems
2021-05-18 12:29:20 +01:00
baldurk 331db5b4ba Fix custom shader edits to write the exact editor contents to disk 2021-05-17 13:47:58 +01:00
baldurk 5def7fd60d Fix further docstring typos 2021-05-11 18:36:46 +01:00
baldurk 3107cc5932 Fix typo in docstring 2021-05-11 18:16:11 +01:00
baldurk b4ec703d97 Expose shader printf messages in the UI 2021-05-11 16:15:31 +01:00
baldurk c6c133bdd0 Add icons for texture viewer pixel history/debug buttons 2021-05-11 16:15:31 +01:00
baldurk 4eb2621bca Fetch shader messages from DebugPrintf 2021-05-11 16:15:31 +01:00
baldurk 2ea6d83b60 Handle new DXBC system-value semantics 2021-04-29 13:05:10 +01:00
Jake Turner da660cd025 Removed redundant RENDERDOC_PLATFORM_APPLE code 2021-04-26 21:58:13 +01:00
baldurk 12d9b4f850 Add copy icon to treeview context menu 2021-04-19 15:30:19 +01:00
baldurk eac94b74f6 Allow cbuffer previewer to apply custom format to non-buffer-backed CBs
* This in particular means push constants and specialization constants on vulkan
  but also applies to root-value cbuffers on D3D12.
* GL bare uniforms are not feasible to expose in this way.
2021-04-14 18:59:12 +01:00
baldurk 95e6a4a971 Respect font scale for fixed-width fonts 2021-04-12 13:04:02 +01:00
baldurk 44db412b8d Speculative workaround for QWidgetPrivate::subtractOpaqueSiblings crash 2021-03-22 18:37:10 +00:00
Dean Ellis 88cb0615d0 Add Support for building the Python API against Python 3.9 2021-03-22 18:22:17 +00:00
Jake Turner faa9dbf709 Enable pyrenderdoc for Apple
It was previously marked as disabled for Apple
Required to build the python modules which are used by the testing framework
Python imports .so libraries by default, change the shared library extension to .so for python modules on Apple
2021-03-14 11:17:31 +00:00
Jake Turner 769fade4cf Fixed small typo "htat" -> "that" 2021-03-14 11:17:31 +00:00
baldurk 9290ed926b Display VRS state in D3D12 pipeline state viewer 2021-02-10 14:20:46 +00:00
baldurk 4c3cf74f18 Don't linkify any @123 EID text that is followed by an x
* This isn't something we generally want to support (@123 should be a separate
  word) and it can come up with shader names like `shader@0x12345` as well as
  with icon@2x.png
2021-02-08 14:05:04 +00:00
baldurk 15cbeef054 Fix offset calculation with declaring nested buffers in format string
* When calculating the size for a struct member we need to properly recurse
2021-02-08 14:05:04 +00:00