baldurk
6bc4e007a0
Fix C++ invokes being responsible for destroying python callbacks
...
* If the last refcount on a python lambda/temp function is released when a
wrapping std::function is destroyed in a C++ invoke, we can't destroy it
safely. Instead we queue up that decref and process it the next chance we're
able (which is either when the current execution finishes for a python shell
execution, or on the next function call which handles extensions).
2020-12-03 14:55:02 +00:00
baldurk
0d1f6e3940
Add helper to invoke back onto the UI thread from the replay thread
2020-12-03 14:17:42 +00:00
baldurk
a8a40ca3d6
Add the ability to create spacers, for better layouts
2020-12-03 13:24:56 +00:00
baldurk
a176849962
Add some new helpers for managing widgets
2020-12-03 11:24:39 +00:00
baldurk
1e1ac07a07
Allow python scripts to implement and register as ICaptureViewer classes
2020-12-03 10:44:27 +00:00
baldurk
f38c4c366d
Add a ctrl+enter shortcut in capture dialog to launch the capture
2020-12-02 17:44:47 +00:00
baldurk
9610919c16
Fix copy-paste of rich resource text
...
* We need to cache to the QString text on demand, which requires a context
potentially sooner than paint/etc time.
2020-12-02 17:44:46 +00:00
baldurk
a34d7b1965
Don't bind Qt signals multiple times for custom paint widgets
2020-11-24 16:29:36 +00:00
baldurk
8d4b45cda3
Fix paramref documentation reference
2020-11-20 18:15:00 +00:00
baldurk
efac5ad70a
Disable runtime and security checks in development builds
...
* This provides a decent speed boost and these have never caught any issues
before. Asan/gflags/valgrind etc do a better job of this when needed.
2020-11-20 17:02:33 +00:00
baldurk
58e16414e0
Add a number of control functions to the Qt python interface
2020-11-20 17:02:33 +00:00
baldurk
bd9d88b328
Add missing includes
2020-11-19 17:34:11 +00:00
baldurk
3f5a911483
Refactor CustomPaintWidget to handle widget recreation internally
...
* This allows us to expose to to python as a easy-to-use "replay output ready"
widget.
2020-11-19 14:47:11 +00:00
baldurk
1dc1b4d167
Add some profile markers in common hotspots
2020-11-19 14:47:11 +00:00
baldurk
ef0b3fe8a1
Add virtual destructor
2020-11-18 19:14:35 +00:00
baldurk
916c431dfa
Compile fixes
2020-11-18 19:05:03 +00:00
baldurk
0aefcced95
Add a small interface into Qt widgets to our own python wrapping
...
* This by no means replaces PySide2, but it allows python extensions to write
simple UIs without needing to rely on PySide2, which might not be available
(generally all windows builds have it as well as recent binary linux builds,
but local windows builds may not and most linux builds probably won't).
2020-11-18 18:21:20 +00:00
baldurk
ab2f4e4046
Fix exception handling in wrapped python callbacks
2020-11-18 15:41:20 +00:00
baldurk
91d8c30cd3
Fix python object conversion for NULL QWidgets
2020-11-18 13:11:58 +00:00
baldurk
6320923966
When VB stride is 0 read enough data for any single attribute
2020-11-12 17:04:43 +00:00
baldurk
804fddcdf7
Allow python extensions to be loaded from app folder as well as user
...
* This will let us distribute extensions with the renderdoc builds.
2020-11-10 13:57:27 +00:00
baldurk
d9eab23bd5
Fix clipping when rendering RichResourceText documents
2020-11-09 16:02:48 +00:00
baldurk
ab28d102cd
Fix bug allowing users to close unclosable texture viewer panels
2020-11-09 12:25:20 +00:00
baldurk
695ffaaf24
When viewing a texture from pipeline state, default to view typecast
2020-10-30 16:28:03 +00:00
baldurk
caa8bb5be0
Fix incremental build dependencies in python modules
2020-10-30 16:28:03 +00:00
baldurk
bb2a8a431f
Ensure we reset any android capture settings on close
...
* If no capture is loaded after launching a program, the capture settings can
still be present and cause problems with future launches of applications
depending on the Android version.
2020-10-29 12:03:27 +00:00
baldurk
d397b7fdce
Fix nit-picky OSX compile error
2020-10-28 15:08:00 +00:00
baldurk
03b7229bad
Support choosing multiview viewport in vertex debugging on vulkan
2020-10-28 13:34:08 +00:00
baldurk
05034e7b57
Ignore deprecated declaration warnings in python modules
2020-10-27 15:15:20 +00:00
baldurk
1ceeb159b7
Add lazy-populating item model for SDObjects
...
* We also add intermediate paging nodes for large arrays to ease expansions
2020-10-27 15:15:20 +00:00
baldurk
935cb113ed
Add new string type rdcinflexiblestr specifically for structured data
...
* This is a string type which heavily optimises for immutability and minimal
storage. It only contains one pointer to the string data and always
reallocates on modify. For compile-time literals it doesn't modify or
allocate.
* On x64 we use the top bit in a tagged pointer to store a flag of whether it's
heap or literal, on other platforms it uses a separate field (meaning another
pointer sized value effectively, including padding).
* This is best for structured data which tends to use a lot of immutable strings
for type/name information, and only a few for actual string data (which are
only allocated once and aren't modified after that). Similarly we rarely want
to know only the size of any of these strings, we want the whole string so not
explicitly storing the size is not a big deal.
* Overall this reduces SDObject from 128 bytes to 80 bytes.
2020-10-27 15:15:19 +00:00
baldurk
c58f3edafa
Support lazy-generating structured data objects for large arrays
...
* For certain very large arrays it can be nice to defer generation of structured
data until it's needed, since often maybe only a handful of elements may be
needed (or commonly none at all).
2020-10-27 15:15:19 +00:00
baldurk
394896a3c9
Hide list of children completely in structured data
...
* This makes it easier to enforce object ownership, as well as gives us options
for e.g. generating structure data on demand lazily.
2020-10-26 10:24:47 +00:00
baldurk
8a4183ae64
Add missing <QRegularExpression> header
2020-10-23 18:16:42 +01:00
baldurk
3d93b7bb6c
Add missing override statements
2020-10-23 18:01:05 +01:00
baldurk
369120cddf
Link @1234 type text to EIDs in the comments viewer
2020-10-23 13:57:38 +01:00
baldurk
9779c56333
Ensure edited shaders mark a capture as modified for saving
2020-10-23 13:57:38 +01:00
baldurk
806187f613
Save and load edited shaders as capture modifications
...
* When a shader edit is loaded with a capture, it's loaded as "pending" and not
immediately applied.
2020-10-21 14:14:20 +01:00
baldurk
5ccf25c3cb
Fix compilation of QTDebug qrenderdoc target
2020-10-16 16:13:30 +01:00
baldurk
42c5ab849e
Show dynamically unused slots as unused (italic text) on vulkan pipeline
2020-10-16 16:13:30 +01:00
baldurk
8d647e5584
Avoid recalculating header view sizes when irrelevant roles change
2020-10-16 16:13:30 +01:00
baldurk
c2a21a9106
Don't emit redundant change signals when nothing changed
2020-10-16 16:13:30 +01:00
baldurk
7fc06ee77e
Fix rendering of selected/highlighted rich resource text
2020-10-16 16:13:30 +01:00
Kevin McCullough
e213cfafa9
Modifying the TextureList to use EventBrowser-style chooser.
2020-10-15 22:19:44 +01:00
baldurk
bf4d68fb03
Account for D3D11 UAV start slot when displaying bindings
2020-10-13 21:31:16 +01:00
baldurk
e1d025e4ef
Don't fetch buffer data if it's not yet initialised
2020-10-02 12:53:38 +01:00
baldurk
55c57f7e89
Display stencil values in binary and decimal in tooltips. Closes #2052
2020-10-01 15:56:52 +01:00
baldurk
2481957f1a
When shader debugging is cancelled, still display partial debug trace
2020-09-21 14:39:20 +01:00
baldurk
381fdbe06b
Fix missing format argument in error message
2020-09-17 17:43:28 +01:00
baldurk
8ca96aa83a
Fix arrays of UBOs not displaying properly in vulkan pipeline state
2020-09-11 16:32:17 +01:00