Commit Graph

187 Commits

Author SHA1 Message Date
baldurk 1854eb3c85 Tweak analytics prompt wording and fix a typo 2018-02-12 11:31:57 +00:00
baldurk 80af9cfebf Rename "Hook into Children" option
* Because holy moly that's a really strange way to shorten the option.
2018-02-09 21:14:32 +00:00
baldurk cbeb905ae6 Default to selected texture file format in save file browser. Refs #862
* We also do the reverse, if they selected a different extension we
  update the selected format.
2018-02-09 17:51:31 +00:00
baldurk 4f59cdb23d Linux compile fix 2018-02-09 09:08:11 +00:00
baldurk e20a31d23f Add friendlier error message when overwriting current file. Refs #862
* Only the currently open capture can save over its file, other captures
  cannot overwrite it while it's in use.
2018-02-09 01:32:49 +00:00
baldurk f044719b9a Add file size limit of 2.25GB for uploaded captures 2018-02-09 01:32:46 +00:00
baldurk fc37a4fa54 Check that we have openssl available in crash report dialog 2018-02-07 15:57:17 +00:00
baldurk fd344b2803 Rename JDK browse button slot to properly get picked up 2018-02-07 12:09:30 +00:00
baldurk a2e0bc82e9 Allow double-click & other shortcuts to inject into processes. Refs #862 2018-02-06 21:25:07 +00:00
baldurk 2b64d6dfa7 Add options to change analytics settings after initial prompt
* We are also more explicit in code about disabling the analytics when
  the opt-out is selected.
2018-02-06 00:21:09 +00:00
baldurk 6316a9747d Add missing Qt include 2018-02-01 00:25:05 +00:00
baldurk 29f5d7e53d Update file selection whenever an item is selected, not just clicked.
* This catches when you use typing to find an item, or select with the
  arrow keys.
2018-01-31 21:08:24 +00:00
baldurk b3d5704809 Don't try to make package debuggable if remote server has disconnected 2018-01-29 18:02:23 +00:00
baldurk cb34a2daea Revamp android patching to only check for (& change) the debuggable flag
* We don't consider anything else, this includes permissions or the
  library being present. Since we no longer expect to patch in the
  library we also don't check its version (however we leave the tag in
  case it is useful in the future).
* If the user has root access we will never warn, assuming the injection
  will work fine even without the debuggable flag.
2018-01-26 21:19:14 +00:00
baldurk 643db8042b Tweak live capture again - feels more natural with buttons on the right 2018-01-26 15:33:18 +00:00
baldurk 503fd1a858 Adjust padding in LiveCapture dialog 2018-01-25 18:55:54 +00:00
baldurk 5150a9531b Allow queuing a sequence of frames both before capture, or while running
* We also make the frame counting consistent: Frame 0 is the frame from
  device initialisation to first present, Frame 1 is from first present
  to second, and so on after that.
2018-01-24 11:38:37 +00:00
baldurk f46aa2944d Add #includes to fix linux compilation 2018-01-20 10:17:22 +00:00
baldurk 33b3176cd4 Rewrite the analytics intro text to be less of a wall of text
* Also add a preview of what data will be included in any report, both
  in the intro and in the confirmation before sending any report.
2018-01-19 16:33:45 +00:00
baldurk 98ed7ae9ca Make sure the discard button for analytics actually works! 2018-01-19 11:45:16 +00:00
baldurk 7989c80152 Compile fixes for linux 2018-01-17 22:57:04 +00:00
baldurk be0681f770 Allow for configuring multiple SPIR-V disassemblers, detect known tools
* Initially add support for spirv-cross and spirv-dis.
* When possible we'll auto-detect the tools in path or in the build's
  plugins folder.  Otherwise the user can add it and add their
  executable path.
* We still use the first disassembler for editing - in future it would
  be good to allow selecting the disassembler at edit time (as well
  as allowing multiple compilers).
2018-01-17 21:07:04 +00:00
baldurk 2354a0e71d Change OrderedListEditor to be a widget, not a dialog 2018-01-17 21:07:04 +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 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 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 30589eaf19 Update dialog should not have maximum size on the release notes 2017-12-22 14:41:45 +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 84331ebf0b [Coverity] Fix missing check for negative return 2017-12-21 11:56:54 +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
baldurk 764b39a23c Add update checking system to Qt UI
* This only runs on windows - on other platforms we rely on system
  distribution or user local builds.
2017-12-19 17:31:32 +00:00
baldurk b7952cfdf0 Minor tidying making function private 2017-12-19 13:05:06 +00:00
baldurk f2e7f8f1a0 Refactor crash/bug reporter system
* The UI dialog is now in Qt. We run qrenderdoc.exe with a very minimal
  startup to display the dialog and send the report.
* The flow has been simplified to have less text and an easier time to
  just click through and send.
* On the first report, the user is gently nudged to enter their email
  address for contact and by default the email is saved for next time.
  They're not nagged more than once about this.
* Optionally the user can select to upload the capture. This is always
  default off, and there is a confirmation dialog making sure the user
  intended to select it.
* After the bug is reported, a unique URL is generated and returned
  which the user can then click back on to see if there's any update. By
  default the UI will also remember the URL and check it every couple
  of days and alert the user in the help menu that there's an update.
2017-12-19 12:26:34 +00:00
Cody Northrop 82f4e82155 Add version checking to Android workflow
* Tag the RenderDoc layer with a version string that
  matches the host, including git hash.
* In developer builds, check the version when scanning the
  application for RenderDoc support.
* Pass the warning back to the UI to offer ways to fix.
* Update APK patching to remove existing layer.
2017-12-19 13:26:11 +01:00
baldurk 8d29758851 Remove members of public structs called 'bytes'
* It is at best confusing, and at worst could cause errors by aliasing
  with the python type.
2017-12-15 17:33:53 +00:00
baldurk 1c9addae52 Skip raw filetype when enumerating texture save formats 2017-12-15 12:28:41 +00:00
Richard Khoury 937c8e7c91 Missing Qt UI file change from previous commits. 2017-12-15 13:20:26 +01:00
Richard Khoury d8bc07f945 Added ability to save out overlay textures using the TextureSaveDialog.
This is part of the work specified by github Issue 586, allowing the
ability to save out the overlay in the TextureViewer.  If no overlays
are on then there is no option to save the overlay. Currently there is
no option to remap the overlay to a grayscale or absolute value range
before saving. This can be a future task.

NOTE: the overlay texture resource that's saved out is not the blended
texture that the user will see in the TextureViewer, it is just the
overlay itself. The ability to save out the blended texture would be a
future task.
2017-12-15 13:20:26 +01:00
baldurk 316cb41af2 Set a proper title for the virtual file browser 2017-12-14 16:45:39 +00:00
baldurk 78890e9c30 Tweak emphasis in vulkan layer patching message, to focus on Vulkan req. 2017-12-14 14:50:35 +00:00
baldurk b3e48a7576 Add search logic to find android tools automagically, which we ship
* We search first in specified folders by the user (they can browse to
  the android SDK and java JDK).
* If the tools we want aren't found there, we look relative to the UI
  as we now distribute the required tools with windows builds.
* If we still don't find them, we prefer to look in PATH since the user
  has 'opted in' to any tools found in there. If the tool isn't in PATH
  either then we look relative to known environment variables.
2017-12-14 14:38:39 +00:00
baldurk ac5574c5c7 Fix sizing of pages column on left side of settings dialog 2017-12-14 13:33:03 +00:00
baldurk 0b527fab49 Use rdc types instead of Qt containers in public QRenderDoc interface
* This is to support python bindings - the pyside implementation of
  QVector, QString, etc is not available to SWIG, so SWIG treates these
  all as opaque types.
* Rather than trying to set up bindings that work for rdcarray and
  QList/QVector, or implementing separate bindings, we instead just say
  that the public interface must use the rdc types. In most cases they
  seamlessly convert to/from Qt types anyway.
* In a couple of places we use an array of pairs instead of a map. In
  future we probably want an rdcdict or rdcmap with proper dict bindings
  in python.
2017-12-13 22:43:01 +00:00
baldurk 38ac98bfdd Remove 'Capture Executable' name, be consistent on 'Launch Application' 2017-12-11 14:49:36 +00:00
baldurk a7056aeec2 Use RDHeaderView for header sizing in virtual file dialog 2017-11-29 19:01:24 +00:00
baldurk 4b562ea49d Allow hitting enter on a file in the virtual file dialog to select 2017-11-29 19:01:23 +00:00
baldurk e189ae030c Remove the need for a preceeding / on android (Allow empty root path) 2017-11-29 19:01:23 +00:00