Commit Graph

129 Commits

Author SHA1 Message Date
baldurk 8ff3ee93b5 Copy libGL force-inclusion hack from renderdoccmd to qrenderdoc
* Normally Qt uses libGL dynamically so this isn't an issue, but if Qt
  is statically linked then we need this.
2017-02-22 17:17:15 +00:00
baldurk d014156e45 Don't spinlock when waiting for blocking render commands 2017-02-20 10:32:12 +00:00
baldurk 1e65762e93 Process render commands 1 by 1 to allow pre-empting high frequency cmds 2017-02-17 20:16:17 +00:00
baldurk 3398fcc9de Add support for configuring an external SPIR-V disassembler in Qt UI 2017-02-16 17:10:04 +00:00
baldurk 72921f2642 Ensure windows.h is included first before shellapi.h 2017-02-16 17:10:02 +00:00
baldurk f416f4770e Implement UI side of detecting vulkan layer problems and fixing as admin
* Stub functions for the actual detection/fixing part.
2017-02-14 19:14:53 +00:00
baldurk fbae19f622 Add custom shader handling to texture viewer 2017-02-14 19:14:52 +00:00
baldurk f8ed197318 Add static resources collection with pre-constructed QPixmaps & QIcons
* Apart from making the code cleaner when accessing them, creating these
  from strings can be slow if you do it often enough (e.g. once per
  resources for action/action_hover in pipeline state view).
2017-02-13 19:20:22 +00:00
baldurk 3841af5697 Add fake profile markers if a capture doesn't have any markers at all 2017-02-13 19:20:20 +00:00
baldurk 4d699a2068 Allow overriding the variable type when formatting a shader variable 2017-02-10 21:48:48 +00:00
baldurk 354a2707ae Avoid copying large structs, prefer to pass by reference 2017-02-10 21:48:46 +00:00
baldurk 2285b209c3 Access CaptureContext & RenderManager by reference, not pointer
* Neither of these can or should be NULL so enforce it explicitly.
2017-02-09 19:28:24 +00:00
baldurk 0d141b6d7e Add TODOs that were missing in a couple of places 2017-02-09 19:28:24 +00:00
baldurk 60a1950b16 Fetch image/resource layouts from pipeline state data 2017-02-09 19:28:24 +00:00
baldurk f45adb8cc5 In LambdaThread delete QThread on finished signal instead of during run 2017-02-09 19:28:24 +00:00
baldurk 913554c005 Return the right result for copying progress bars 2017-02-09 19:28:24 +00:00
baldurk e1d180246c Add dialog for both managing remote hosts (add/remove) and attaching 2017-02-09 19:28:23 +00:00
baldurk c5adc7a4ed Use relative paths for 3rdparty headers, don't add to search paths
* Unfortunately scintilla assumes its headers are all in the search path
  so where possible we only add those folders when compiling scintilla
  source, not our own.
2017-02-09 19:28:22 +00:00
baldurk 9e47ed53b5 Move resources.qrc into Resources/ folder 2017-02-09 19:28:22 +00:00
baldurk 9c03eb69bc Add remote file browsing dialog 2017-02-09 19:28:21 +00:00
baldurk 4ec3b4dce3 Add support for remote context capture and replay, including Android
* Still missing is remote file/folder browsing, and managing remote
  hosts adding/removing etc.
2017-02-09 19:28:21 +00:00
baldurk 24564a5439 Don't pass strings by copy unnecessarily 2017-02-09 19:28:21 +00:00
baldurk 7c422e3651 Add Load/Save functions around Deserialize/Serialise in config
* This lets us do some processing before saving and after loading
  regardless of the path the load/save takes.
2017-02-09 19:28:21 +00:00
baldurk 7d9c38b14a Keep list of remote hosts in persistant config 2017-02-09 19:28:21 +00:00
baldurk f67b02ecf0 Add class for managing remote hosts 2017-02-09 19:28:21 +00:00
baldurk d1a4238e00 Add a utility to check if running on a lambda thread 2017-02-09 19:28:21 +00:00
baldurk f4bd51fc21 Revamp progress dialogs to abstract away most of the handling 2017-02-09 19:28:20 +00:00
baldurk cf1ef45a5e Add settings dialog for Qt 2017-02-03 20:11:06 +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 9690db525b Add support for raw buffer views (not mesh output) 2017-01-26 23:31:58 +00:00
baldurk 0cbb43b7bf Remove QString formatting on output log 2017-01-26 23:31:57 +00:00
baldurk 19034c0d93 Don't use resizeColumnsToContents on full data, add column per component 2017-01-26 23:31:57 +00:00
baldurk a200ed8455 Tweak grid layout lines to match up better for non-square tables 2017-01-24 19:00:57 +00:00
baldurk 31c29c3149 Give Vulkan shader stage structs in pipeline state consistent names 2017-01-24 12:12:33 +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 5cf16ccbd4 Fix warnings from clang compilation 2017-01-03 14:49:42 +00:00
baldurk 288cce9de5 Add utility integer alignment function 2016-11-28 17:45:57 +01:00
baldurk 08bd19a990 Fix compilation (mostly) on OSX, with stubs for VK WSI. 2016-11-28 12:57:55 +01:00
baldurk 4ce3c31fef Add un-finished work in progress mesh buffer viewer 2016-11-25 17:05:58 +01:00
baldurk 48169536f5 Implement float formatting rules 2016-11-25 15:43:25 +01:00
baldurk a2d40f8061 Add constant buffer previewer for qrenderdoc 2016-11-25 14:17:20 +01:00
baldurk 90a1b03a0f Fix some switch statements missing breaks 2016-11-25 14:14:47 +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 9ab11786b2 Add a utility to style a QGridLayout with actual lines between elements 2016-11-24 19:47:04 +01:00
baldurk 0b9e11d1ec Add some more ToStr::Get implementations 2016-11-24 19:47:03 +01:00
baldurk e13b6277ed Add API Inspector 2016-11-21 19:33:19 +01:00