Commit Graph

534 Commits

Author SHA1 Message Date
baldurk 9e5736f03e Add context menu popup for disassembly in shader debugging 2017-04-27 19:47:50 +01:00
baldurk a7e58ae5f6 Fix a broken loop condition 2017-04-27 19:47:50 +01:00
baldurk ae50fa99ee Revamp version tagging, remove ugly suffix on git hash. Refs #571
* Tacking -official onto the git hash was a hack only needed on windows,
  and since we want more information it doesn't scale.
* Instead we track anything we need to know about the version in
  separate variables, like whether it's a stable build or a nightly/
  local build. Or if it's built by a downstream distribution then the
  version number for the downstream build.
2017-04-27 19:47:50 +01:00
baldurk 4199a857f5 Add right-click context menu to event browser with expand/collapse all 2017-04-27 19:47:50 +01:00
baldurk c2690b8211 Remove some cases where resources were being loaded and parsed @ runtime 2017-04-27 19:47:49 +01:00
baldurk dd2f6eb88a Don't delete objects allocated in renderdoc module outside it. 2017-04-27 19:47:49 +01:00
baldurk 5fbf49a304 Fix pixel history view launching shader debugger on qrenderdoc 2017-04-27 19:47:49 +01:00
baldurk 163bc6f47e When right-clicking on captures in a connection window, select them too 2017-04-27 19:47:49 +01:00
baldurk e0f3535a20 Fix deleting captures not removing them from the list correctly 2017-04-27 19:47:49 +01:00
baldurk 448afbc0a6 Add element column with the row number for raw buffer views 2017-04-27 19:47:49 +01:00
baldurk fee690b844 Don't remove an empty list of paths - Qt warns about it 2017-04-27 19:47:48 +01:00
baldurk 0f8e25a103 Fix a case where descriptor bind length wasn't being checked for ~0U 2017-04-27 19:47:48 +01:00
baldurk 1529c8053d Fix a crash updating mesh preview columns when not in a mesh view 2017-04-27 19:47:48 +01:00
Michael Rennie ca553e6c5c Set the MaxConnectTimeout setting for connecting to Android packages. 2017-04-27 09:13:14 -07:00
baldurk b5e6596512 Make sure we build qrenderdoc with svg 2017-04-27 15:16:34 +01:00
baldurk 04bfcdff71 Fix linux build with problems overriding functions 2017-04-22 02:25:03 +01:00
baldurk 3d41d53cc1 Fix a crash with the strip-restart handling code if draw is NULL 2017-04-21 18:45:12 +01:00
baldurk 605fd4dcc5 Use single QVariant tagging on RDTreeWidgetItem instead of setData
* It saves on allocating a vector of vectors and in most cases is all we
  need.
2017-04-21 18:45:12 +01: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 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 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 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 5f2ecd07e4 Don't build python renderdoc modules on OS X 2017-04-19 19:48:34 +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 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 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 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