Commit Graph

149 Commits

Author SHA1 Message Date
baldurk e48065c96b Replace use of std::pair with rdcpair wherever possible
* Only remaining uses in our code is when we're interacting with std::map where
  it uses std::pair internally
2019-05-17 16:32:56 +01:00
baldurk 699f8753af Convert ToStr, Serialise, and TypeName to use literal strings 2019-05-15 14:12:17 +01:00
baldurk 53f54ae882 Clear cached updates if the version changes some other way. Closes #1368 2019-05-01 21:11:48 +01:00
baldurk e2bb45fd8f Restore removed LastCaptureExe saving last exe selected. Closes #1318 2019-03-25 15:12:55 +00:00
baldurk 26d823905e Allow running on Android 5.0 but with a warning that it's unsupported
* The apk targets api level 21 which is 5.0, so it still won't install on
  anything older.
* We pop up a big warning to the user the first time they try and select such a
  remote host.
2019-03-13 22:24:45 +00:00
Haiyu Zhen ca54a910f5 Add --replayhost command line option for qrenderdoc
This allows users to specify which remote host to connect to on startup.
2019-02-07 23:46:33 +00:00
baldurk 852d345bf7 Save the queued frame capture settings with settings files 2019-02-07 15:23:07 +00:00
baldurk fc9249842a Correct description of float controls - min/max is for decimal places
* This wrongly said that it controlled the number of significant figures.
2019-02-07 15:23:07 +00:00
baldurk f20e871510 Add option to make y-flipping a per-texture state instead of global 2019-02-04 18:06:10 +00:00
baldurk 86ff87863e Update copyright years to 2019 2019-02-01 18:32:13 +00:00
baldurk 69a76bfb41 Use ASCII name for duration column in draw list export. Refs #1246 2019-01-24 10:15:36 +00:00
baldurk f39be022a3 Satisfy strange Qt thread-ownership requirements around QProcess objects 2019-01-11 16:03:35 +00:00
baldurk b5a3d12133 Add hlsl_stage2 substitution to shader processing tool 2018-11-30 16:20:25 +00:00
baldurk f75b5e235e Change verify map writes capture option to verify buffer access.
* This option will now toggle on the behaviour to fill undefined buffer contents
  with a marker value, both if they're created without data (it will be zero
  filled instead) or mapped with discard (it will keep the old contents
  instead).
* There were too many hard to find problems or misconceptions about the buffer
  filling for it to be useful. Now it will be opt-in instead.
2018-11-23 11:25:39 +00:00
tabi.katalin 6c39b58d0b Handle failed APK installation and patching
If "adb install" command is used with "-g" flag, we may get java.lang.SecurityException on some devices because granting runtime permissions at installation time is only allowed for system apps (however we can enable it in the device's Developer options menu).
Also, pulling APK from /data/app/ may be restricted. We can workaround by copying the APK to a directory which we can access then try to pull the APK from there.
2018-11-13 11:38:44 +00:00
baldurk 122f0af3aa Add opt-in setting for RGP integration 2018-10-25 11:12:31 +01:00
baldurk 67ba5f3ed1 Split extensions interface into separate header, add dialog box helpers 2018-10-24 12:22:54 +01:00
baldurk 0a21448114 Rename ExtensionMetadata members to match python naming scheme 2018-10-23 19:32:10 +01:00
baldurk 8447e43e78 Fix panel menus 2018-10-23 15:15:39 +01:00
baldurk 94dfb9890b Allow registering window, panel and context menu items with callbacks 2018-10-23 14:23:12 +01:00
baldurk dd3a352408 Add registration and loading of extensions through a management window 2018-10-23 14:23:11 +01:00
baldurk 6bfb426ab1 Allow specifying {stdin} to specify that input is in stdin. Closes #709 2018-09-07 14:24:45 +01:00
baldurk cca4d364bf Save last capture path per remote host. Closes #1094 2018-09-06 12:30:03 +01:00
baldurk 5145478d19 Remove unused config variable LastCaptureExe
* In the .NET UI this was used to pre-fill the executable selection dialog, but
  it's unnecessary and hasn't been missed.
2018-09-06 10:59:15 +01:00
baldurk e81ba58456 Don't call QFile::exists() with empty filename 2018-09-03 14:12:20 +01:00
baldurk 5406227152 Call CreateWindowingData on the main UI thread
* This allows mac to patch-up the widget to be renderable, and has to happen on
  the UI thread.
2018-08-31 22:14:12 +01:00
baldurk f70a86042d Pass {glsl_stage4} parameter when calling for disassembly as well 2018-08-28 18:23:57 +01:00
baldurk babe36bf7e Preserve stdout/stderr from external shader tools and display to user 2018-08-15 13:40:21 +01:00
baldurk adb02cbee4 Linux compile fixes 2018-08-09 17:26:47 +01:00
baldurk 3c7b420e59 Expand SPIR-V disassemblers to general shader processing tools
* Instead of just configuring SPIR-V disassemblers and picking only the first
  one when we need to edit SPIR-V, we allow setting up any shader processor that
  goes between two shader encodings.
* When editing, the default will still be to use embedded source, and then after
  that the first tool that goes from the native shader format to a text format,
  but the drop-down allows you to pick any of them.
* Similarly in the shader viewer you can configure the compilation options and
  method, to choose the compiler you want to use. Embedded command line
  parameters in the shader are automatically appended.
2018-08-09 16:56:53 +01:00
baldurk a81e4a2b45 Pass through and allow different source shader encodings when editing
* This means e.g. the D3D11 back-end can accept DXBC directly if the UI can
  provide it, or compile from HLSL as before.
* More importantly, the Vulkan back-end can take SPIR-V compiled from any
  source, or compile from GLSL as before as a fall-back.
2018-08-09 16:56:52 +01:00
baldurk a4dfad6e82 Add a backend query to check shader encodings BuildTargetShader allows
* This will allow the backend to specify both the native format (e.g. SPIR-V,
  DXBC) as well as a language it might be able to internally compile (GLSL or
  HLSL).
* The caller will then able to decide for itself whether it wants to compile to
  native format and pass that down, or pass the language down and let it be
  built internally.
* Currently BuildTargetShader still only accepts shader source.
2018-08-09 16:56:51 +01:00
baldurk b955ef0b52 Support a NULL window for functions that only need it for dialogs
* Primarily useful for Python where threading can cause problems, and there's no
  need.
2018-07-11 19:32:16 +01:00
baldurk 1c510cb3a3 Don't crash if RemoteHost hostname is empty or short 2018-07-09 16:28:00 +01:00
baldurk 286446b008 Fix threading memory corruption with remote host probe 2018-06-22 19:28:35 +01:00
baldurk ec2806df06 Add context menu for manipulating watch panel 2018-06-22 19:28:34 +01:00
baldurk 14e3a3d360 Move API-agnostic pipeline state wrapper into core interface
* There's no need for this to be in the UI, and moving it allows it to be used
  from script which is very useful.
2018-06-18 18:39:06 +01:00
baldurk 4561b55464 Persist a default browse directory for file dialogs, if none is provided
* This provides a slightly more sensible default than the application working
  directory.
* The default is shared across all dialogs and open/save.
2018-06-15 19:40:54 +01:00
baldurk 858b02480b Pass command-line args as 'intent args' when launching apk. Refs #987 2018-05-24 21:42:29 +01:00
baldurk 851a88133a Remove the 'save all initials' option. Behave as if it's always enabled
* This option has always been a mixed bag - when originally written captures
  weren't compressed at all so saving the cost of a initial contents on a
  gbuffer would have a significant savings.
* Now with compression the savings are lesser, and it's a source of
  bugs/confusion for the case where either a bug is caused by leaking data from
  the previous frame or worse still the contents are discarded incorrectly.
* D3D11 will now behave as the other APIs will - saving initial contents
  whenever needed even if they seem like they might not be used.
2018-05-23 16:08:44 +01:00
baldurk 082ab4d75d GUIInvoke takes a QObject* to avoid callbacks after object lifetime
* The GUIInvoke object takes a QObject, and uses QPointer to check that
  it hasn't been deleted when the callback fires. This prevents delayed
  callbacks from executing after the object has been deleted and
  crashing.
* In most cases the pointer is just 'this'.
2018-05-08 11:54:34 +01:00
baldurk 9f6610932d Add missing documentation string 2018-04-25 22:08:55 +01:00
baldurk f87338dc0e Add support for VK_EXT_vertex_attribute_divisor 2018-04-25 19:11:04 +01:00
baldurk 2d0f675ca8 Add socket-based interop with RGP and profile embedding in captures 2018-04-25 19:10:51 +01:00
Baldur Karlsson 68a3f3a31f Filter out previous/next drawcall shortcuts when text editing.
Closes #911

editing.
path.
'ad0678a'.
2018-03-12 15:46:44 +00:00
baldurk c0afad8cd8 Default Comments_ShowOnLoad to true, and actually use the value. 2018-02-25 15:29:09 +00:00
baldurk d9c7a4d416 Show the status bar progress indicator if a replay operation is slow
* This mostly happens on android where there are large framebuffers
  transferred over a very slow USB connection
2018-02-22 15:49:48 +00:00
baldurk 4a2242f0a1 Make checkerboard colours update immediately when theme changes 2018-02-21 14:29:36 +00:00
baldurk 13c1cf6ad4 Return ReplayStatus when launching/injecting, use to indicate JDWP error
* If android studio or other android tools are open when a package is
  launched for debugging, they greedily jump on it and connect which
  prevents us from connecting.
2018-02-20 11:54:57 +00:00
baldurk 04034c334b Gather pixel history panels together instead of making new dock for each 2018-02-19 00:52:13 +00:00