Commit Graph

39 Commits

Author SHA1 Message Date
baldurk f4bd51fc21 Revamp progress dialogs to abstract away most of the handling 2017-02-09 19:28:20 +00:00
baldurk 923dfbd6fb Add Qt version of statistics viewer 2017-02-03 20:11:06 +00:00
baldurk 346550e012 Add debug message view to Qt 2017-02-03 20:11:04 +00:00
baldurk 477df04072 Make sure we're on a consistent event before calling OnLogFileLoaded
* Certain panels like BufferViewer assume there is a current drawcall
  at startup and not an invalid event ID like 0. Normally the event
  browser is loaded first and sets the event ID, but if it's later in
  the list this will break.
2017-02-01 11:17:56 +00:00
baldurk 7ef73f92ef Add shader viewer (view only - not edit/debug) using Scintilla widget 2017-01-23 19:09:29 +00:00
Alex Smith 6e2fc42cbd qrenderdoc: Show currently selected event in the API inspector
Currently, selecting an event with children (e.g. vkCmdExecuteCommands)
in the event browser will cause the API inspector window to show the
final child event, rather than the event itself. This behaviour makes
sense everywhere else: selecting an event with children shows the state
after all children have completed.

However, for the API inspector, we want to be able see API calls for
the parent event when it is selected rather than those of its last
child, particularly in the case of vkCmdExecuteCommands which may have
other API calls leading up to it.

To allow this, distinguish between the "current event" and "selected
event". For an event with children, the former refers to the last
child, while the latter refers to the event itself. ILogViewerForm now
has two separate event callbacks for when either one changes.

The API inspector now makes use of the selected event, while everything
else continues to use the current event.
2017-01-14 20:23:51 +00:00
baldurk 030cbfde9a Batch update copyright years everywhere 2017-01-06 12:13:31 +00:00
baldurk 4ce3c31fef Add un-finished work in progress mesh buffer viewer 2016-11-25 17:05:58 +01:00
baldurk a2d40f8061 Add constant buffer previewer for qrenderdoc 2016-11-25 14:17:20 +01:00
baldurk 6ef7dbb356 Add pipeline state viewer and implement vulkan viewer
* Minus interactions with as-yet-unimplemented windows like buffer and
  shader viewers.
* Also missing HTML export
2016-11-24 19:47:05 +01:00
baldurk e13b6277ed Add API Inspector 2016-11-21 19:33:19 +01:00
baldurk 23d8c12457 Add status message about log warnings/errors 2016-11-21 17:38:02 +01:00
baldurk 60f83c1b5e Set icons for child windows 2016-11-21 17:04:08 +01:00
baldurk 86c9742309 Let capture context manage singleton window panes 2016-11-14 15:20:51 +01:00
baldurk 2ccc157114 Add TempLogFilename() utility function 2016-11-09 18:33:38 +01:00
baldurk bb2f3a205c Move common Qt utility functions & JSON I/O together in a single place 2016-11-09 13:23:53 +01:00
baldurk 5a243c4b42 Add an implementation of QOverload to avoid depending on Qt 5.6
* Also switch travis to 5.6 so we don't add a dependency on 5.7 by
  accident.
2016-11-07 19:22:56 +01:00
baldurk 18898b7f09 Set up proper log loading/closing
* This includes the recent log menu list, progress bars and popup.
2016-10-12 16:59:25 +02:00
baldurk 8a375abe41 Add self-deletion and waiting to LambdaThread 2016-10-12 16:51:29 +02:00
baldurk ec1ce1d738 Fix bool checks across threads to be correct, so it's not optimised out 2016-10-12 13:01:09 +02:00
baldurk fbcb04944d Add texture saving dialog 2016-10-12 00:26:15 +02:00
baldurk b4b45835b0 Delete thread when it's cleaned up, not automatically 2016-10-11 18:32:34 +02:00
baldurk 3051c48357 Add RefreshStatus to force-replay to the current event 2016-10-10 13:29:05 +02:00
baldurk 9d49b7ae38 Add menu-showing function to RDDialog (using manual event loop pump) 2016-10-10 13:28:52 +02:00
baldurk 03eb2ea696 Save and load persistant config file 2016-10-07 19:51:05 +02:00
baldurk ff6da5d81e Add layout loading/saving to main window 2016-10-07 19:51:02 +02:00
baldurk b96d49190c Avoid naming manually connected slots on_x_y() 2016-10-07 15:58:45 +02:00
baldurk bfac4adfb8 Expose full logging to UI layer, pipe Qt messages etc into main logs 2016-10-07 15:58:45 +02:00
baldurk ccfa1ceaed Add some utility functions to rdctype::array/str
* Avoids the need to directly reference .elems to cast to const char*
  for strings, and has begin()/end() for C++11 foreach loops
2016-10-07 15:58:44 +02:00
baldurk a901fc0d5b Fix isRunning check - just wait for m_Thread to be NULL 2016-10-07 15:58:43 +02:00
baldurk 3ea107fd6c Don't race to a double-delete, LambdaThread deletes its own thread 2016-10-05 20:20:19 +02:00
baldurk 044c16a0a3 Switch to helper functions for blocking dialogs (file and message)
* To continue the workaround for QTBUG-56382 we need to run our own
  manual message loop for dialogs as well. We only use a couple so we
  can just run it through a handful of thin wrappers.
2016-10-05 16:52:05 +02:00
baldurk 86623528bf Work around QTBUG-56382 with manual event loop flushing
* See https://bugreports.qt.io/browse/QTBUG-56382 for more details -
  creating DXGI swapchains adds a windows hook, and enough windows hooks
  forces out Qt's internal hook which it relies upon for proper event
  processing.
2016-10-05 16:52:05 +02:00
baldurk c47ab2c515 Fix for conflicts between X headers and Qt due to overlapping #defines 2016-10-05 01:13:09 +02:00
baldurk ea81c9ef8e Move includes to header file for Display/xcb_connection_t definitions 2016-10-04 20:13:57 +02:00
baldurk fe1e86d35a Fill out pipeline state with API pipelines 2016-10-04 19:54:32 +02:00
baldurk 39bfe99ae5 Implement common pipeline state abstraction 2016-10-04 19:54:32 +02:00
baldurk 0b6b6b3e86 Add MIT License comment to the head of all source files 2016-10-04 19:54:31 +02:00
baldurk e91634004f Rename Core to CaptureContext 2016-10-04 19:54:31 +02:00