Commit Graph

5345 Commits

Author SHA1 Message Date
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 d699e89fd2 Switch RDTreeWidget to inherit from QTreeView instead of QTreeWidget
* We add our own custom item model to handle the cases we need. We can
  also make a few assumptions and optimisations around things we can
  safely assume like e.g. nodel columns won't really change after init.
* This lets us have full control over batching updates, which was the
  main motivation, but it makes it easier to extend in future (e.g.
  adding single per-item tags instead of the heavyweight Qt::UserRole
  data elements).
2017-04-21 18:44:51 +01:00
baldurk 5848d00091 Fix reported crash - clamp row count input to non-negative value 2017-04-21 18:43:14 +01:00
baldurk 2632638615 Fix handling of primitive restart in qrenderdoc's BufferViewer 2017-04-20 16:08:15 +01:00
baldurk 1002742a14 Pull implementation of highlighting vertex/primitives into common code 2017-04-20 16:08:14 +01:00
baldurk 58a752b882 Fix some cases that didn't handle strip restart indices 2017-04-20 16:08:13 +01:00
baldurk 195ef0122a Port EventBrowser_AddFake option to qrenderdoc 2017-04-20 13:20:18 +01:00
Michael Vance 3c178e2124 Add an option to enable/disable fake markers. 2017-04-20 13:14:39 +01:00
baldurk 143d35ff31 Add export-to-text function for event browser 2017-04-20 13:04:28 +01:00
baldurk f88c4c4ba0 Disable event browser toolbar buttons while no log is open 2017-04-20 12:54:49 +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 338017ce9a Add a va_stdafx.h #defining QT_NAMESPACE to empty
* VAX can get confused by the QT_NAMESPACE macro, and if it thinks Qt
  objects are inside a QT_NAMESPACE namespace then various things will
  break but most commonly the ui objects inside that namespace won't be
  picked up properly.
* See https://forums.wholetomato.com/forum/topic.asp?TOPIC_ID=12573
2017-04-20 11:53:52 +01:00
baldurk e3cbc55663 Add a quick README.md to qrenderdoc with where to fetch the deps for now 2017-04-20 11:12:02 +01:00
baldurk baea067fd9 Check for created initial contents before handling MSAA. Refs #579
* In edge cases, MSAA textures can have no true initial contents and
  will need to be cleared.
2017-04-20 10:49:07 +01:00
baldurk 5f2ecd07e4 Don't build python renderdoc modules on OS X 2017-04-19 19:48:34 +01:00
baldurk 142d3d11ad Compile fix for OS X - add overload for size_t 2017-04-19 19:48:22 +01:00
baldurk 2dc56a9616 For OS X on travis, use brew to install python3 2017-04-19 19:48:10 +01:00
baldurk 2eb4a35680 Add a refcount to RemoteManager so it only closes when unused
* We previously were only checking if all lookups had completed before
  self-deleting, but we also need to make sure nothing externally is
  still holding onto the dialog.
2017-04-19 18:29:10 +01:00
baldurk 7193b40241 Add hooks for KHX extensions that were supported
* This was a bad merge from the private branch where support was
  implemented, these hooks were lost somehow.
2017-04-19 18:12:32 +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 9441e15ebc Make sure linking static python exports all of its symbols
* This is needed to correctly load C modules like math, ctypes, etc
2017-04-19 18:07:55 +01:00
baldurk 94e64a0aec Add build of renderdoc python modules for documentation generation 2017-04-19 18:07:55 +01:00
baldurk 6596a3caec Search for additional python versions 3.4, 3.5, and 3.6 2017-04-19 18:07:54 +01:00
baldurk bd78b4b985 Link against libutil for static qrenderdoc builds
* It's needed for openpty/forkpty in python when static linking, and
  it's a safe library to depend upon dynamically.
2017-04-19 18:07:53 +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 2e2bd1759d Don't redirect stderr to NULL when configuring, to print errors 2017-04-19 18:07:52 +01:00
baldurk ae9824c713 Update CONTRIBUTING for new linux dependencies
* python3-dev for linking against python in qrenderdoc
* bison, autoconf, automake and libpcre3-dev for building the custom
  SWIG used to generate bindings
2017-04-19 18:07:51 +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 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