Commit Graph

549 Commits

Author SHA1 Message Date
baldurk e9e42839c3 Support specifying structs in buffer formatter. Closes #805
* Structs and arrays-of-structs are completely flattened for the purposes of
  displaying them still.
2019-02-14 12:55:44 +00:00
baldurk bbc2f47fa8 Centralise generation of buffer format strings for struct buffers
* We also fix a number of issues that could cause incorrect formats to be
  generated.
* Test cases added for D3D11/GL/Vulkan to test different struct types. These
  aren't automated at the moment because most of the code they're testing is in
  the UI itself.
2019-02-13 18:50:56 +00:00
baldurk fe0be58908 Implement CGLPlatform using CGL and NSOpenGLContext
* On replay on macOS we use NSOpenGLContext so we can render to windows.
* We have two windowing systems on mac - one for Metal compatible outputs and
  one for OpenGL compatible outputs.
2019-02-13 18:50:54 +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 fbb6b23b23 Support advanced cbuffer layouts
* This includes 8/16/64-bit integers, 16-bit/64-bit floats, and scalar block
  packing
2019-02-07 15:23:06 +00:00
baldurk 6d07e1c42e Add support for VK_EXT_discard_rectangles 2019-02-05 18:40:31 +00:00
baldurk 354b37be56 Add support for VK_EXT_sample_locations 2019-02-05 18:40:31 +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 d265a14a45 Change renderdoccmd to be a console program on windows.
* This means it outputs natively/properly to stdout/stderr and its output can be
  redirected with pipes.
* It does mean we need to be very careful whenever it's run internally to not
  pop up a command window, which happens by default.
2019-01-09 16:27:15 +00:00
baldurk 2237c241ff Fix incorrectly named methods in ResourceFormat
* We try to maintain at least an internally consistent naming scheme for the
  python/public interface, even if it doesn't match python naming schemes.
2019-01-03 12:22:29 +00:00
baldurk 7860bee811 Make sure to fail if errors are found in python interface method naming 2019-01-03 12:22:28 +00:00
baldurk ce88558a7c Refactor RDTreeWidgetDelegate into RichTextViewDelegate that is reusable
* This allows us to add rich text support much more easily into other itemviews
  like RDTableView.
* We set it up for debug messages so that resource links in debug messages can
  be linked.
2018-12-17 17:10:34 +00:00
baldurk 68b23c5f62 Add support for YUV resource formats
* We handle 4:4:4, 4:2:2, and 4:2:0, with packed, 2-plane and 3-plane formats,
  for 8, 10, 12, and 16 bit depths.
* This covers most common formats but still leaves a few out - NV11, palettised
  formats, V208/V408 JPG formats.
2018-12-11 19:57:20 +00:00
baldurk 2411ce70ea Add flags to ResourceFormat to replace bgraOrder/srgbCorrected
* Allows for future expansion as well
2018-12-11 19:57:20 +00:00
baldurk 3f84eff79c Allow python extensions with uppercase letters. Refs #991 2018-12-06 10:52:14 +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
baldurk 2d6b004381 Set caret colour to foreground colour in scintilla 2018-11-16 14:06:53 +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 e437919e78 Linux compile fixes 2018-10-23 19:11:22 +01:00
baldurk fd6add235f Add missing default: case in switch 2018-10-23 19:05:29 +01:00
baldurk 1720d321e5 Set general global handle for extension registration work
* When calling the register() function there is no frame or globals, so we need
  to set an internal handle external to that.
* This means functions that get wrapped know that there's a global handler for
  exceptions, which just prints to the log. Otherwise they think they're running
  synchronously and write to an invalid exception handling object.
2018-10-23 15:36:35 +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 67fc971cd9 Add a dummy pass-through conversion for already converted python objects 2018-10-23 14:23:12 +01:00
baldurk 789c3b9333 Add plugin icon 2018-10-23 14:23:11 +01:00
baldurk dd3a352408 Add registration and loading of extensions through a management window 2018-10-23 14:23:11 +01:00
baldurk 2dd293d691 Add the ability to load/reload global python extensions 2018-10-23 14:23:11 +01:00
baldurk 0cd0dce704 Don't overload Replay() return type with concrete ReplayManager 2018-10-23 14:23:10 +01:00
baldurk 9e6a5e692e Keep a reference to python function object in wrapped lambda
* This will rarely be relevant, but it ensures if the function is decref'd and
  the lambda is still alive, that we keep the python object alive until we are
  done with it. The primary case for this is persistent callbacks where the
  module is then reloaded.
2018-10-23 14:23:10 +01:00
baldurk 58de3fa8a5 Walk stackframe to find _renderdoc_internal
* When calling functions in modules, the globals are namespaced to the module
2018-10-18 19:36:21 +01:00
baldurk 21a7584c40 Don't import built-in renderdoc modules with prefixed underscores
* This prevents any modules loaded from doing 'import renderdoc' and having it
  work as expected.
2018-10-18 19:16:25 +01:00
baldurk b5854f0fec Implement VK_EXT_transform_feedback, and use it for mesh output
* For pipelines using tessellation or containing a geometry shader we use
  transform feedback to fetch the output of the vertex pipeline after these
  stages.
2018-10-16 16:53:03 +01:00
baldurk 1210f1fd42 Add pipestate.h to swig interface dependencies 2018-10-16 16:26:22 +01:00
baldurk 5472319025 When opening buffer textures, auto-generate a reasonable buffer format. 2018-10-11 11:09:36 +01:00
baldurk 4deb5dae60 Don't display progress dialog if process has already finished. 2018-10-08 17:20:38 +01:00
baldurk 1bd014247d Add -- separator when running kdesudo or gksudo 2018-10-05 18:17:00 +01:00
baldurk d1bdae94a7 Add workaround for QTBUG-52697, manually do high-dpi in rich text 2018-09-28 15:03:12 +01:00
baldurk 94496e0e2a Support copying structured lists to each other in python
* This requires a copy otherwise object lifetimes are wrong.
2018-09-20 12:35:37 +01:00
baldurk 9bf00cb1a6 More natural python handling for GetDefaultCaptureOptions, return struct 2018-09-18 18:01:28 +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