baldurk
1d1b7d8c55
Fix off-by-one error converting strings
...
* The length returned by PyBytes_AsStringAndSize isn't the byte size
including null terminator, but the number of bytes in the string.
2017-04-19 18:03:19 +01:00
baldurk
2a4596e06a
Add python shell qt window
2017-04-19 18:03:19 +01:00
baldurk
31050d651e
Batch up output callbacks, instead of calling for every write
...
* If it's called every write then it risks spamming the system with
signals and locking the UI thread with constant writes. Checking and
flushing output every 100ms is sufficient.
2017-04-19 18:03:18 +01:00
baldurk
3e7dd15300
Add simple python syntax highlighting
2017-04-18 14:57:50 +01:00
baldurk
b904b28187
Add support for aborting python execution at the next traceback call
2017-04-18 14:57:50 +01:00
baldurk
f0853eda9f
Fix exception fetching and passing through signals
2017-04-18 14:57:50 +01:00
baldurk
a740696dbe
Add an extended RDTextEdit control subclassed from QTextEdit
2017-04-18 14:57:49 +01:00
baldurk
d22da5e297
Step up python stack until we find our globals, or run out of stack
...
* In python globals aren't really global, they're just module-level
variables. So to find our _renderdoc_internal we have to potentailly
walk the stack if we're inside another module until we get to the
globals dict we set up.
2017-04-18 14:57:49 +01:00
baldurk
ab41f1ec6a
Change python global init/shutdown order to be safe vs running contexts
...
* If a window (like the PythonShell) owned a context and only stopped it
on destruction, it would be destructed after the global shutdown
destroyed the interpreter.
2017-04-18 14:57:49 +01:00
baldurk
c3505944bd
Add interactive evaluation that prints the result of a command
2017-04-18 14:57:49 +01:00
baldurk
dae3a41db1
Don't try to put android apk in ${CMAKE_SOURCE_DIR}/bin anymore
2017-04-18 14:57:49 +01:00
baldurk
1afeea8d4d
Upgrade missing docs error msg to fatal to ensure docs aren't forgotten
2017-04-18 14:57:49 +01:00
baldurk
c7acbb3990
Document the QRenderDoc python API
2017-04-18 14:57:49 +01:00
baldurk
0ff4117e50
Remove pointless bool return value on ListFolder
2017-04-18 14:57:49 +01:00
baldurk
ea1dbc27f9
Remove parent widget parameter from shader view/edit/debug functions
2017-04-18 14:57:48 +01:00
baldurk
35f9c53486
Rename *Method to *Callback to be more explicit in the name
2017-04-18 14:57:48 +01:00
baldurk
a2a96a556c
Tweak a few things in the pipeline state & config interfaces
...
* Remove reference out parameters that aren't a good fit for python
bindings, and change a few names to make a better interface.
2017-04-18 14:57:48 +01:00
baldurk
ceb73b85d9
Rename ILogViewerForm to ILogViewer
2017-04-18 14:57:48 +01:00
baldurk
494086f40d
Rename RenderManager to ReplayManager
2017-04-18 14:57:48 +01:00
baldurk
e3ef56b5a0
Remove some ancient and unused Qt Creator files
2017-04-18 14:57:48 +01:00
baldurk
6930841705
Rename ReplayRenderer to ReplayController
...
* It's not a renderer, it's an interface to controlling the replay and
any 'renderer' type work actually happens in ReplayOutput.
2017-04-18 14:57:47 +01:00
baldurk
a7ab0d9300
Move capture-file handling functions into a single interface
...
* This allows us to return complex types like byte arrays or pairs of
status & render handle.
* Also in future more introspection of the capture file will be possible
and this provides an easy extension to that without adding new entry
points.
2017-04-18 14:57:47 +01:00
baldurk
dd1e090040
Make some parameter names more verbose
2017-04-18 14:57:47 +01:00
baldurk
bc79e2296f
Make EnvironmentModification struct and pass around array directly
...
* The old 'store in opaque void*' is kept as entry point wrappers only
for the C# UI.
2017-04-18 14:57:47 +01:00
baldurk
43eb5072b4
Remove 'magic constant' use of ~0U as invalid/skip/no result.
...
* In python it's not as quick to get ~0U since ints aren't unsigned or
fixed size. Adding named constants makes it easier for people to use
the right values, and C++ users can still pass ~0U.
2017-04-18 14:57:47 +01:00
baldurk
f6c045f473
Refactor public interface to be less strict C and more python friendly
...
* Generally this means removing ref out parameters and instead returning
values. In a couple of cases we will want to avoid copies in future
either by returning const references (e.g. to the pipeline state which
is immutable).
* At the same time, some pointless bool return values that were always
true and didn't indicate errors have been removed. They can be added
again if an error condition comes back.
* Some free functions still have out parameters as C linkage doesn't
allow returning user types by value.
* The C# UI still invokes into C wrappers for all the C++ classes, which
handle taking the return value and doing a copy into an out parameter
still for compatibility.
2017-04-18 14:57:46 +01:00
baldurk
a1f2fdacbc
Add std::initializer_list support to rdctype::array
2017-04-18 14:57:46 +01:00
baldurk
05d0e2eb77
Add utility functions for rdctype::pair, make_pair and cast to tuple
...
* make_pair is obvious, the cast to tuple allows using std::tie to split
a returned pair into two local variables.
2017-04-18 14:57:46 +01:00
baldurk
4c0fc8ce1d
Add a specialisation for bytes objects
2017-04-18 14:57:46 +01:00
baldurk
f476058567
Pull the ultimate parent pipeline object to the top of any docs page
2017-04-18 14:57:46 +01:00
baldurk
2c978ef9e9
Document Vulkan pipeline state object
2017-04-18 14:57:46 +01:00
baldurk
d139eb9657
Document the OpenGL pipeline state object
2017-04-18 14:57:46 +01:00
baldurk
94b97223b2
Document the D3D12 pipeline state object
2017-04-18 14:57:45 +01:00
baldurk
362aed739b
Document the D3D11 pipeline state object
2017-04-18 14:57:45 +01:00
baldurk
b31725ad67
Document renderdoc_replay.h, main interfaces and free functions
...
* Also include some guidelines on documentation writing.
2017-04-18 14:57:45 +01:00
baldurk
61b191b501
Document the remaining non-pipeline structures in data_types.h
2017-04-18 14:57:45 +01:00
baldurk
ab73425ec6
Document the shader types
2017-04-18 14:57:45 +01:00
baldurk
90d8b2bd47
Copy capture options documentation from comments in renderdoc_app.h
2017-04-18 14:57:45 +01:00
baldurk
043b47ec91
Add documentation for data types in control_types.h
2017-04-18 14:57:45 +01:00
baldurk
dd75707157
Set copyright year to current year at build time
2017-04-18 14:57:45 +01:00
baldurk
99063c2401
Add entries in sphinx documentation to generate correct API autodocs
2017-04-18 14:57:44 +01:00
baldurk
83f769a2cd
Document the enums in replay_enums.h
2017-04-18 14:57:44 +01:00
baldurk
35ae996a34
Check docstrings in the qrenderdoc bindings as well
2017-04-18 14:57:44 +01:00
baldurk
15d427f3d0
Check that all constants (typically enum values) are documented properly
2017-04-18 14:57:44 +01:00
baldurk
b8d3efdb31
Move document checking to a C++ header file
...
* It's better to edit C++ source natively not in the SWIG file, and also
clang-format can format it.
2017-04-18 14:57:44 +01:00
baldurk
b2cadbfb63
Add pyrenderdoc VS project for generating python extension module
2017-04-18 14:57:44 +01:00
baldurk
d746b9278c
Define HandleCallbackFailure inline so we don't have it in renderdoc.i
2017-04-18 14:57:44 +01:00
baldurk
2de280d494
Use protected default constructors/destructors to hide them from SWIG
2017-04-18 14:57:44 +01:00
baldurk
694d7b6c7b
Split apart renderdoc.i for better organisation
2017-04-18 14:57:43 +01:00
baldurk
b33d64acac
Simplify pipeline state renames with regexs
2017-04-18 14:57:43 +01:00