Commit Graph

224 Commits

Author SHA1 Message Date
baldurk 5b74b66493 Don't construct a QFont globally (as a class static)
* It causes a crash when Qt is statically linked.
2017-05-18 15:05:03 +01:00
baldurk f6cef9ea4a Don't setFont(Consolas) - it's windows only. Fix monospace for scintilla 2017-05-17 15:55:42 +01:00
baldurk 5b5e30cf54 Add HTML pipeline export for qrenderdoc 2017-05-15 10:11:56 +01:00
baldurk 83f155855b Hex formatted numbers are always uppercase 2017-05-15 10:11:55 +01:00
baldurk 870f0cc166 Filename filters should be translated 2017-05-15 10:11:55 +01:00
baldurk 1ca55a8237 Add an optional 'rgb' specifier to colour buffer cells backgrounds
* When opening a texture as a buffer we can make use of this.
2017-05-10 17:20:37 +01:00
baldurk c18e846c69 Fix a broken UTF-8 string on Qt MSVC builds 2017-05-09 15:26:31 +01:00
baldurk b8d7726822 Make SPIR-V disassembly more robust over empty structs or cbuffers 2017-05-09 15:26:31 +01:00
baldurk c854294dc8 Add calls to XInitThreads() to allow driver multithreading optimisations 2017-05-05 16:45:29 +01:00
baldurk bbff0fce1c Implement row colouring and tree colouring in event browser.
* Also do custom painting of branches to do proper full-row colouring
  instead of leaving an ugly gap around the tree controls.
2017-05-04 20:36:46 +01:00
baldurk ab432f24fc Implement the UI option for preferring monospaced font 2017-05-04 20:36:46 +01:00
baldurk 8b3c06ac67 QStringLiteral compile fix for static qrenderdoc code 2017-05-03 08:53:56 +01:00
baldurk 0ecc6ca877 Enable QT_NO_CAST_FROM_ASCII & QT_NO_CAST_TO_ASCII
* Added a couple of utility macros to help with the conversion. lit() is
  paired with tr() for untranslated text.
* QFormatStr is more explicitly for non-textual formatting strings.
* Both are just #define'd to QStringLiteral()
2017-05-02 22:58:12 +01:00
baldurk 474ba91d8b Make qprocessinfo.cpp compatible with no QString <-> const char* convs 2017-05-02 22:58:11 +01:00
baldurk 829e1aa77e Fix handling of 'slots' Qt keyword clashing with python
* On linux without any PCH we have a slightly different case to windows
  with the PCH, so we need to be careful not to redefine the macro.
2017-04-28 19:36:09 +01:00
baldurk 18d3eae1c8 Ensure that constant buffer views are grouped together in docking 2017-04-28 18:36:56 +01:00
baldurk 1f8a93c37a Add precompiled header file use to qrenderdoc on VS 2017-04-28 18:36:55 +01:00
Michael Rennie ca553e6c5c Set the MaxConnectTimeout setting for connecting to Android packages. 2017-04-27 09:13:14 -07:00
baldurk f65f5ea9da Use new RDTreeWidget everywhere in favour of QTreeWidget
* Since we're promoting everything, we reset the behaviour of
  RDTreeWidget so that it's not doing anything different by default.
* RDTreeWidget's interface is a bit different, exposing some useful
  things like a single selected item and so on.
* We also can't set columns in the Qt Creator UI anymore, so we set them
  from code.
2017-04-21 18:44:52 +01:00
baldurk 2632638615 Fix handling of primitive restart in qrenderdoc's BufferViewer 2017-04-20 16:08:15 +01:00
baldurk 195ef0122a Port EventBrowser_AddFake option to qrenderdoc 2017-04-20 13:20:18 +01:00
baldurk 8ad0ea60e0 Use the configured time unit used for the event browser duration column 2017-04-20 12:46:30 +01:00
baldurk 8824e18b0a Search share/renderdoc/pylibs for python libs.
* This is only relevant for static qrenderdoc builds where the python
  used isn't the system python, so it needs to locate its libs.
  Otherwise the system libpython3.so and libs will be used.
2017-04-19 18:07:56 +01:00
baldurk 94e64a0aec Add build of renderdoc python modules for documentation generation 2017-04-19 18:07:55 +01:00
baldurk d51091e893 Pass in (char *) params to a couple of functions for backwards-compat
* Earlier python headers specified these parameters as char * instead of
  const char * so we get compile warnings passing in literals.
2017-04-19 18:07:53 +01:00
baldurk 5a432747c7 Don't set Py_TPFLAGS_HAVE_FINALIZE when we don't implement tp_finalize 2017-04-19 18:07:52 +01:00
baldurk 6f4784d638 Add a command line parameter (--py / --python / --script) to run scripts 2017-04-19 18:03:20 +01:00
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 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 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 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 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 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 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