Commit Graph

1119 Commits

Author SHA1 Message Date
baldurk fd899cdb96 Fix disassembly not being on top when first debugging a shader 2018-01-17 21:07:04 +00:00
baldurk a13b45b0ef Apply FlipY to co-ordinates used for debug or pixel history. Refs #839 2018-01-17 21:07:03 +00:00
baldurk 56c6fa2d04 Use QCommandLineParser to parse arguments more intelligently. Refs #843 2018-01-17 21:07:03 +00:00
baldurk dea21b20a0 Remove global GIT_COMMIT_HASH define, use GitVersionHash global var
* On windows, the change in a global GIT_COMMIT_HASH define in each
  project needing it meant a full rebuild every time the commit changed.
* Ideally we'd set the define only on one file in each project, but
  MSBuild doesn't seem to support that. Instead we make a new tiny
  project that compiles a single cpp exporting a global var, and
  reference that global var in each other project.
2018-01-16 20:17:53 +00:00
baldurk 34fc993b59 Calculate column widths with devicePixelRatio 2018-01-16 20:12:06 +00:00
baldurk 5e819a6e23 Ensure mesh columns list is cleared before reconfiguring 2018-01-16 20:12:06 +00:00
baldurk aba8dacd25 Use baseVertex value from PostVS data 2018-01-16 20:12:04 +00:00
baldurk e7991c07eb Add ability to create a mapping from RGP linear/interopId <=> eventId 2018-01-11 16:44:57 +00:00
baldurk 32d57f4019 Enable sorting in debug messages 2018-01-11 13:48:34 +00:00
baldurk b5d9034698 When opening raw index buffer view, multiply offset by index width 2018-01-11 13:48:33 +00:00
baldurk dc98914eef Don't add android hosts synchronously in menu popup (it started slowing)
* This was fast before but I started noticing the lag. Instead, we can
  do it asynchronously when polling for remote host status, every few
  seconds. This should still be good enough as people are probably going
  to be used to devices taking a moment to appear.
2018-01-11 13:48:33 +00:00
baldurk 01ee0e32ba Update preview settings after fetching PostVS data 2018-01-11 13:48:32 +00:00
baldurk a6f856d2d9 Fix mistaken && insteasd of & checking control key modifier 2018-01-04 21:46:41 +00:00
baldurk 089b9c1ece Don't use ToQStr for converting rdcstr to QString, just cast 2018-01-02 17:19:54 +00:00
baldurk 1b50521704 Add check against empty files somehow adding to recent file lists 2018-01-02 16:06:13 +00:00
baldurk e3ead220f6 Refresh list of android hosts whenever context switcher is opened
* It's very fast, and means we update whenever a device is plugged in or
  unplugged.
2018-01-02 15:50:22 +00:00
baldurk e305029ddd Update copyright years to 2018 2018-01-01 17:55:29 +00:00
baldurk 7a2305ae31 Change by-ref passed float or bool parameters to callbacks in public API
* Mostly used for passing a progress float back during a long blocking
  call like opening a capture or doing a copy.
* This is much more feasible for python to bind to.
* In several cases we just use a tiny lambda that updates a float anyway
  since we can't push the progress directly into a progress dialog, but
  need to let it query from a temporary in-between float.
2018-01-01 17:31:23 +00:00
baldurk 2e74989b69 Allow None when converting std::function types
* It just creates an empty callback
2018-01-01 17:31:22 +00:00
baldurk 4c0347f856 Fix compile errors with python bindings on callbacks with return values 2018-01-01 17:31:21 +00:00
baldurk beaa642f73 Remove bool parameter to InitResolver to cancel resolving 2018-01-01 17:31:20 +00:00
baldurk 6572cd97f5 Tidy up handling of windowing data, make it a bit more type safe 2018-01-01 17:31:19 +00:00
baldurk 0fef1c0a44 Display richer status in capture connection window.
* This includes the capture progress bar that will appear, as well as
  better information about the active API.
2017-12-29 18:30:44 +00:00
baldurk 559656e0f6 Send capture progress over an active target control connection 2017-12-29 18:30:43 +00:00
baldurk d14c7f3894 Track a set of active APIs instead of a single current API.
* We also let an API be active without presenting, and then note when it
  starts presenting. This lets us detect the case where an API has been
  started up and used, but isn't presenting so we're not able to capture
  it. Less confusing than telling the user no API is detected, and lets
  us direct them to the relevant documentation.
* There's also a flag indicating if the API can be captured even if it
  does present.
2017-12-29 18:30:38 +00:00
baldurk 6adbdf7dfe Update to 4th set of renderdoc swig changes 2017-12-27 16:05:15 +00:00
baldurk 29e95d193c Remove accidentally committed macro change for debugging update checks 2017-12-27 16:05:15 +00:00
baldurk 21d5943d82 Remove dependency on Qt in qrenderdoc python module
* The main addition here apart from some extra stubs is a new rdc type
  for date time objects.
* Although the module doesn't do anything and is only used for docs
  reflection it is desirable to not have to link against Qt as this
  can cause problems when linking the module without unresolved symbols.
2017-12-27 16:05:15 +00:00
baldurk 0f94f7fef7 Fix some int/Py_ssize_t usage in container handling wrappers 2017-12-25 21:33:10 +00:00
baldurk 5200805b55 Disable PCH use on SWIG generated files, disable some warnings. 2017-12-25 21:32:58 +00:00
baldurk 16804e67b4 Disable debug information in release for generated swig cxx files
* This should avoid C1128 errors.
2017-12-25 20:56:35 +00:00
baldurk c8b2a5d488 Fix compilation issue with indexing QByteArray by sptr_t 2017-12-25 16:56:40 +00:00
baldurk 09db13ff3c Add a help lookup panel to the python script editor 2017-12-25 16:05:04 +00:00
baldurk a7398525b2 Add simple tab-completion in interactive python shell 2017-12-25 15:05:30 +00:00
baldurk 16f64a5ace Remove use of unnecessary swig generated .py wrappers
* These .py wrappers are relevant for the non-builtin path, but since we
  use -builtin they serve no purpose except to make things more complex.
* So instead we make the module directly exported as 'module' instead of
  '_module'.
* On windows there's no conflict because we have renderdoc.dll vs
  renderdoc.pyd. On linux it's librenderdoc.so vs renderdoc.so.
* To prevent supporting files like .lib / .pdb from conflicting on
  windows we build the python modules into a subdirectory. They're not
  ever used by the UI (it links in the bindings directly).
2017-12-25 15:05:28 +00:00
baldurk bca1dbef87 Don't insert literal tab if accepting tabs, emit keypress event
* This lets the user decide if they want to do something special with
  tab or just insert the character
2017-12-25 12:53:42 +00:00
baldurk 2b083b7910 Add options for UI-configured SPIR-V disassemblers to shader viewer 2017-12-22 17:03:10 +00:00
baldurk 203dca8434 Split out invocation of SPIRVDisassembler into member function 2017-12-22 17:03:08 +00:00
baldurk 336144afd7 Sanitise loaded values on PersistantConfig 2017-12-22 15:09:29 +00:00
baldurk 9c7e46c6fc Tweak update menus and alerts
* We split the "update available" off to a top-level menu item, instead
  of a sub-item under Help. This gives explicit text saying an update is
  available.
* Change the icon from an hourglass to a slightly more 'updatey' image.
* We now re-cehck every week even if an update is marked available. That
  way people who delay for longer than it takes to release a new version
  will get the latest when they do update. It also gives them a reminder
  every week so that hopefully those delayers will be less common!
2017-12-22 14:41:45 +00:00
baldurk 30589eaf19 Update dialog should not have maximum size on the release notes 2017-12-22 14:41:45 +00:00
baldurk 417a811fad Expand docstring checks to also check names of symbols in the interface 2017-12-22 14:41:43 +00:00
baldurk ebaefc82a9 Normalise and make python/public interface more consistent
* We enforce a naming scheme more strongly - types, member functions,
  and enum values must be UpperCaseCamel, and member variables must be
  lowerCaseCamel. No underscores allowed.
* eventId not eventID or EID, and Id preferred to ID in general. Also
  for resourceId.
* Removed some lingering hungarian m_Foo naming.
* Some pipeline state structs that are almost identical between the
  different APIs are pulled out into common structs. Where something
  doesn't make sense (e.g. viewport enable for vulkan) it will just be
  set to a sensible default (in that case always true).
* Changed scissors to be x/y & width/height instead of sometimes
  left/top/right/bottom
* Abbreviations are discouraged, e.g. operation not op, function not
  func.
2017-12-22 13:02:36 +00:00
baldurk 95bebdbbe1 [Coverity] Remove unused call without side-effects 2017-12-21 12:19:02 +00:00
baldurk 84331ebf0b [Coverity] Fix missing check for negative return 2017-12-21 11:56:54 +00:00
baldurk 8f598e0b0f Update toolwindowmanager to 2b84ee038d3883836e13a952ae14ab2e6ff842a6 2017-12-21 11:44:55 +00:00
baldurk 7f20040105 Add timeline bar to default layout 2017-12-21 11:10:50 +00:00
baldurk b070a371e2 Improve D3D11 predication handling, and track other asyncs independently
* Instead of replaying predication, we now always skip it during replay,
  so all objects will render. This is much more consistent and
  understandable behaviour instead of things mysteriously disappearing
  with no obvious reason why.
* We track the predication that would have happened and replay Begin/End
  pairs so that we can know if the predication *would* have failed.
* This is displayed in the UI (currently in the raster state, for lack
  of a better location) with the pass/fail that would have happened.
* This information can feed into other places for analysis like the
  pixel history.
2017-12-20 23:41:08 +00:00
David McFarland 8119f98c65 LiveCapture: specify bpl when creating RGB888 thumbnail
Qt rounds up the bpl to a multiple of 4 bytes, so this was crashing for me with
odd sized thumbnails.
2017-12-20 19:00:50 +01:00
David McFarland 7ae6cc3c37 qrenderdoc: fix --targetcontrol 2017-12-20 19:00:29 +01:00