Commit Graph

982 Commits

Author SHA1 Message Date
Cory Bloor 58b628ee8b Fix unused variables
In almost all cases these can be removed. The only exception is in
ShaderViewer.cpp, where regIdx should have been used.
2017-11-18 00:17:06 +01:00
baldurk c4207fbd5b Add a missing enum docstring 2017-11-17 17:52:21 +00:00
baldurk 734ad2fbd9 Batch and sort updates to related resources 2017-11-17 17:45:27 +00:00
baldurk e790555914 Fix another case with not enough column data and protect against crashes 2017-11-17 17:06:51 +00:00
baldurk 0e3cd3d575 Clear timeline bar current state when closing capture 2017-11-17 16:33:06 +00:00
baldurk 016bc29609 Add a tool menu item that will recompress a capture file 2017-11-17 16:33:05 +00:00
baldurk d206a012f3 Fix incorrect data-to-column count when adding data to treewidget
* We also add an error in case it happens again.
2017-11-17 16:33:00 +00:00
baldurk 4a4089f316 Add generic user-provided notes to save along with the capture.
* In future one of the notes items would be for gathered hardware info.
  Not automatically, but with one button press the full configuration
  can be embedded.
2017-11-17 16:31:03 +00:00
baldurk 19974e1771 Move bookmark storage centrally and save it with capture. Refs #501 2017-11-17 16:31:03 +00:00
baldurk c34d4f6122 Add Ctrl+F4 as an alternative shortcut for closing the capture
* Hopefully this is less muscle-memoried than Ctrl+W as 'close tab'.
2017-11-17 16:31:02 +00:00
baldurk c00a6ca8ef Add notion of UI modifications to a capture, saved in .rdc sections 2017-11-17 16:31:01 +00:00
baldurk bb6452c334 Expand IStackResolver into ICaptureAccess to allow section read/write 2017-11-17 16:31:01 +00:00
baldurk 0b899d90b6 Add ability to replace sections in RDCFile 2017-11-17 16:30:59 +00:00
baldurk 33ff48811b Normalise terminology in UI code - don't call captures 'logs'
* Log is an overloaded term since it can also mean the debug log. We now
  consistently refer to capture files as capture files or just captures
  for short. The log is just for log messages and diagnostics.
* The user-facing UI was mostly already consistent, but many of the
  public interfaces exposed to python needed to be renamed, and it made
  more sense just to make everything consistent.
2017-11-17 16:30:57 +00:00
baldurk e399365ba2 Add simple utility functions for serialising QVariantMap to/from JSON 2017-11-17 16:30:57 +00:00
baldurk 200f0799a4 Generate clickable links to resource inspector in RDTreeWidget 2017-11-17 16:30:56 +00:00
baldurk 1776b4e6c0 Declare ResourceId Qt metatype in public header so it's QVariant'able 2017-11-17 16:30:55 +00:00
baldurk 25de6726f6 Add some cross-linking for panels that view a single resource
* We add a button with a link icon to indicate that it goes to the
  resource details. We'll re-use the crosshair as a visual metaphor for
  any interactive widget that goes to the resource inspector.
* To remove any possible confusion, we change the icon for the texture
  list and locked tabs in the texture viewer to not include the link.
2017-11-17 16:30:54 +00:00
baldurk 2ac0802b10 When a custom name is changed, refresh the UI to propagate it properly 2017-11-17 16:30:54 +00:00
baldurk 7c8628b237 Centralise resource naming with capture context to allow customisation
* We remove the now unneeded name fields in buffer/texture descriptions
  and some of the pipeline state structs.
* A single function will give the human-readable name for a resource id.
  This will look up a custom set of renames, on top of the names from
  the resource descriptions.
2017-11-17 16:30:53 +00:00
baldurk d009ed3b30 Add a resource inspector window for viewing resource details 2017-11-17 16:30:52 +00:00
baldurk bace05d926 Split out code to populate RDTreeWidget with structured data 2017-11-17 16:30:51 +00:00
baldurk 60e530de88 Split out utility function to group together resource usage events 2017-11-17 16:30:51 +00:00
baldurk 152abc501a Fetch structured file on capture load so it's available persistently 2017-11-17 16:30:50 +00:00
baldurk 8997cb9f07 Fix copy-paste error that searched ReadOnlyResources array for UAVs. 2017-11-17 16:30:48 +00:00
baldurk fb6211a3db Return user data from RDTreeWidget for UserRole variants 2017-11-17 16:30:47 +00:00
baldurk 79b51591c2 Add ForwardingDelegate for use in RD extended widgets.
* This item delegate will forward on either to a specified other
  delegate or to the base implementation. This allows chaining delegates
  (i.e. having one built-in to the widget, which forwards to a user-set
  delegate).
2017-11-17 16:30:47 +00:00
baldurk 0c1c171b4f Update toolwindowmanager to c0943da98b811f39f4fda56306bbeb741fb1214b 2017-11-17 16:30:46 +00:00
baldurk 004514e556 Give a little more room to pixel history when displaying it 2017-11-10 18:36:11 +00:00
baldurk 9958b47007 Update toolwindowmanager to b822d2e0d92063a9ceba112b7d4b89716da5da88 2017-11-10 18:36:10 +00:00
baldurk 2f02f2159e Fix some margins/spacings to be more consistent across the UI 2017-11-10 18:36:10 +00:00
baldurk 0dfae4d1c5 Remove Ctrl+W for closing captures, easily confused with close tab
* Whether there's a sensible way to define a tab closing shortcut is
  unclear at the moment - there isn't a single set of tabs, so just
  closing the most recently highlighted panel could be quite
  unintuitive.
2017-11-10 18:36:09 +00:00
baldurk 82e1218b62 Defer loading .rdc from drag & drop, to unblock the calling application 2017-11-10 18:36:08 +00:00
baldurk 136909eaad Raise capture dialog when an .exe is dropped on the window 2017-11-10 18:36:08 +00:00
baldurk 9cbff34d95 By default don't have any pixel selected in texture viewer 2017-11-10 18:36:07 +00:00
baldurk e3b0d8acc0 Ensure too-long popup menus have scroll buttons 2017-11-10 18:36:07 +00:00
baldurk d97f259fd5 Use case-insensitive comparison for process injection filter 2017-11-10 18:36:06 +00:00
baldurk 805f01244c Remove size policy causing problems on buffer view's format specifier 2017-11-10 18:36:06 +00:00
baldurk 8133188a4c Make mesh viewer more robust if no ibuffer is bound on indexed draw 2017-11-10 18:36:05 +00:00
baldurk 988121ee65 Display generic mesh input attrs, and add ---s for out of bounds access 2017-11-10 18:36:04 +00:00
baldurk 3c2a486d6a Use application-level event filter for handling shortcut redirects
* If we just filter the main window, it won't properly pick up shortcuts
  used in floating windows.
2017-11-10 18:36:03 +00:00
baldurk de452da804 Update picked pixel values when changing overlays
* This accounts for e.g. quad overdraw where the picked pixel value is
  affected.
2017-11-10 13:21:19 +00:00
baldurk cac4c7f100 Locate RDTableView even if it's a parent in slot functions
* These slots are called on the item selection view, so the RDTableView
  is actually the sender's parent.
2017-11-10 13:17:11 +00:00
baldurk 954a11de89 Implement shutting down individual replay outputs
* This means e.g. that if the mesh output view gets closed, we don't
  keep it around internally and keep calling InitPostVSBuffers for it.
2017-11-10 12:22:13 +00:00
baldurk 241b8f4404 Clarify the draw range options (this inst vs. all inst vs. whole pass) 2017-11-10 12:10:02 +00:00
baldurk 5ac10b9406 Use structured data exposed from replay controller to document API calls 2017-11-08 18:24:23 +00:00
baldurk b992e95f94 Update replay proxy to use new serialisation mechanism 2017-11-07 19:30:36 +00:00
baldurk 9388d2b71b Change core capture code to be more centred around container handle
* When opening a capture file, a format is now available to allow
  easy import from another format without a completely different
  interface. Only rdc files can be replayed, but any other file can
  load and access structured data through the same interface.
* The replay initialisation and capture writing interfaces also use the
  RDCFile instead of passing filenames or Serialisers around directly.
  Driver initialisation parameters are now entirely private, and don't
  need to be exposed - any agnostic metadata like thumbnail, driver, etc
  are all accessed via the RDCFile container itself.
* Callstack resolution is now part of the container file, not the
  back-end via way of its Serialiser.
* Importers/Exporters to other non-RDC formats are registered in a
  similar way to replay/remote drivers.
* It is also then possible to construct an RDC file from thin air, by
  creating an empty RDCFile container and filling it with data, then
  requesting it to be written to disk.
2017-11-07 19:30:35 +00:00
baldurk 327fda94a0 Add refactored serialisation system
* The new system contains the ability to export serialised data to a
  structured form in memory - and conversion back to serialised bytes.
* This will allow offline transformations/visualisation of capture files
  as well as more rich representations of API calls in the UI.
* Likewise it enables a number of optimisations such as the ability to
  write straight from mapped API memory to disk via a compressor,
  without any intermediate copies.
2017-11-07 19:30:32 +00:00
baldurk 2c2270051c Hide/disable options when they're not available. Refs #788
* Hopefully these can be restored at some point, when the features are
  implemented. For now where possible we remove options that are just
  unavailable always, and selectively disable others when they may or
  may not be available based on what API the capture uses.
2017-11-06 12:45:40 +00:00