Commit Graph
480 Commits
Author SHA1 Message Date
baldurk ec356da027 Fix accidentally copy-pasted docstring 2018-05-24 22:50:43 +01:00
baldurk c6ae93e1c7 Expose raw pushconstants values as part of vulkan pipeline state
* Not used directly in the UI, but can be useful for script access
2018-05-24 21:42:30 +01:00
baldurk 206e0f1188 Add quality-of-life/convenience accessor functions to SDObject 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 8c5e8081c5 Fix typo in documentation of ShaderVariable::members 2018-05-15 19:44:17 +01:00
baldurk a31a5a9cfb Provide reasonable default values for TextureDisplay struct 2018-05-15 19:44:17 +01:00
baldurk afb7ea5dab Improve python wrapping of WindowingData
* If we make WindowingData an empty struct not an opaque one, it won't leak memory
* Similarly we need typemaps to allow python to pass plain ints and have them cast to pointers
2018-05-15 19:44:17 +01:00
baldurk 7eb19ab13f Add better structured data helper functions to expose to python 2018-05-15 10:44:26 +01:00
baldurk 1393b84fb6 Add proper support for KHR_shader_draw_parameters in Vulkan mesh output 2018-05-08 17:51:56 +01:00
baldurk 1a5b189441 [Coverity] Fix uninitialised variable warnings 2018-05-08 12:22:45 +01:00
Jason Ekstrand 606cc3a066 Remove a pointless const
Having the extra const makes no sense on an r-value and makes GCC8
unhappy.
2018-05-01 18:38:05 +01:00
baldurk d03df4d1a9 Add support for VK_device_group & VK_device_group_creation 2018-04-30 18:31:47 +01:00
baldurk 08147dfa66 Rename public property to match python-esque naming scheme 2018-04-25 21:30:22 +01:00
baldurk f87338dc0e Add support for VK_EXT_vertex_attribute_divisor 2018-04-25 19:11:04 +01:00
baldurk 79637f6caa Expose which drivers support RGP, and add command to create RGP profile 2018-04-25 19:10:50 +01:00
baldurk a1f5dbdaa6 Implement extension VK_KHR_maintenance2. Closes #818 2018-04-24 19:24:09 +01:00
baldurk bbc0581e7e Implement support VK_EXT_conservative_rasterization. Closes #898 2018-04-24 19:23:51 +01:00
baldurk 94548886eb Implement VK_KHR_push_descriptor extension. Closes #905 2018-04-24 14:41:57 +01:00
baldurk ec80829e4f Bump version to 1.1 2018-03-06 15:11:27 +00:00
baldurk dd21423784 Rename ID variable to resourceId for consistency in API 2018-03-01 18:45:32 +00:00
baldurk e5350505c0 Serialise all union members in vulkan structs and add Union SDTypeFlag 2018-02-28 11:51:08 +00:00
baldurk 1cd8559d0c Pass through current GPU vendor in APIProperties, for analytics 2018-02-25 15:29:14 +00:00
baldurk 3fe8ad4e3f Rename 'ResourceId' structured data type to just 'Resource' 2018-02-24 23:22:24 +00:00
baldurk b74f917975 Add application API version 1.1.2, with renamed log file -> capture file 2018-02-20 20:33:30 +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 2eb56e4279 Display matrix memory order in cbuffer type column. Refs #800 2018-02-19 11:53:20 +00:00
baldurk 1792673864 Show an error message if saving changes fails 2018-02-19 00:52:14 +00:00
baldurk 934800793a Improve workflow for capture import/export
* If the export doesn't need buffers, we export directly from the loaded
  capture file instead of re-loading it.
* Add progress bars for the load step so it shows what's happening
  instead of looking stalled.
* Reduce compression rate on XML+ZIP buffers as it took too long trying
  to compress when exporting large captures.
2018-02-19 00:52:13 +00:00
baldurk de64755667 Add a structured data flag for fixed-size arrays 2018-02-16 09:39:46 +00:00
baldurk 64406b47a3 Add an SDBasic type for ResourceId.
* This type is core enum and used globally (not API specific) that it
  merits becoming a specific structured data type
2018-02-15 10:21:52 +00:00
baldurk 468c6c1e80 Wrap up CaptureOptions encoding via string into member util functions 2018-02-14 19:21:55 +00:00
baldurk 1ee01e1f82 Apply a normalisation pass over the serialised data
* This is a backwards-incompatible change, so it's done here before v1.0
  so that we can freely break compatibility and not need to define a lot
  of ugly compatibility code.
* The primary motivation is to make the serialised data more uniform
  and have fewer special cases where the serialised form is naturally
  defined from the functions/structs in question.
* There are still some special cases or variances but they should be
  more isolated and only where really necessary.
* Remove some cases in the D3D12 struct serialising where we were
  directly serialising child struct members in the parent struct.
* We now try to match argument/struct member order as closely as
  possible.
* Serialising an array with a count no longer reads the count back out
  into that variable, counts must be serialised separately. This means
  all members/arguments are explicitly present in the structured data
  and also eliminates the awkward case where a count needed to be
  serialised separately after an array if we want to have the count be
  a valid number even if the array could be NULL. It also means we don't
  need the FIXED_COUNT() macro since array lengths can be plain values
  and don't have to be a reference type.
2018-02-14 15:57:53 +00:00
baldurk b0f2f6de58 For bitfields with no values set, return Type(0) instead of "" 2018-02-14 00:41:16 +00:00
baldurk 80bb034315 Treat -1 as the invalid microsecond duration value, not 0
* Some functions can be so quick that they register as a duration of 0.
  This is expected and we should not end up omitting it when importing
  or exporting because we think it was missing. As a 64-bit value,
  losing a bit for signedness is not a problem.
2018-02-12 20:47:51 +00:00
baldurk d3bf628394 Handle opening vulkan shaders that are not in a pipeline.
* Previously we were relying on the pipeline info create to initialise
  the reflection for an entry point, now we do it on demand wherever it
  is needed.
2018-02-09 19:03:55 +00:00
baldurk 5a5d8380ad Persist texture save config between saves. Refs #862 2018-02-09 17:51:32 +00:00
baldurk 3b94095201 Handle differences between EXT_debug_label and KHR_debug
* In particular they have different behaviour for what length value
  indicates that the length should be fetched from the NULL
  terminated string.
2018-02-02 18:39:46 +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 8f405a2197 Render mesh data with instanced properties correctly. 2018-01-24 16:14:22 +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 f751be98ed Fix version project building on 32-bit 2018-01-16 23:17:55 +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 4b7e7f5df1 Add section type for embedded AMD RGP profiles 2018-01-11 15:33:43 +00:00
baldurk e305029ddd Update copyright years to 2018 2018-01-01 17:55:29 +00:00
baldurk 96e39cb781 Add a preview window ability to remote servers. Always on for android
* On android in particular this shows some sense of what's happening on
  the device and gives user feedback that it's not completely dead.
2018-01-01 17:31:23 +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 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 31b4064702 Use ItemHelper more in rdcarray to avoid slowdown on basic types 2017-12-29 18:30:45 +00:00
baldurk 559656e0f6 Send capture progress over an active target control connection 2017-12-29 18:30:43 +00:00