Commit Graph

52 Commits

Author SHA1 Message Date
baldurk e6c5c03896 Remove rdctype namespace. Rename rdctype::str -> rdcstr, rdcarray, etc
* Since these types are more prevalent than originally designed, it
  makes more sense to remove the namespace for ease of typing/naming.
* Also add a specialised type 'bytebuf' for an array of bytes.
* This makes mapping easier to SWIG since there's no special casing for
  namespaced arrays. Especially so for nested cases like
  rdctype::array<rdctype::str> -> rdcarray<rdcstr>
2017-11-03 16:04:59 +00:00
baldurk 5e59616a8c Update rdctype::array to have a more stl-like mutable interface
* For the most part the interface is stl-compatible, but we have a few
  little changes of our own for convenience.
* This class is still needed after deleting the C# UI, because we don't
  want to pass C++ stl structs over module boundaries and possibly run
  into hard to diagnose incompatibilities.
2017-11-03 16:01:58 +00:00
baldurk 42abaf2b4f Prefer using VK_AMD_shader_info to disassemble when available. 2017-10-23 15:05:29 +01:00
baldurk 0faf0931c2 Ditch D3D11's anomalous identity bindpoint mapping for proper handling 2017-08-31 18:34:00 +01:00
baldurk 00e06d8ff1 Make display rendering colours theme-aware.
* In particular this removes hard-coded checkerboard colours that don't
  look right on dark themes.
2017-08-28 18:50:17 +01:00
Matthäus G. Chajdas 03343239c7 Implement a Performance Counter Viewer pane, hook up selection dialog 2017-08-24 13:21:03 +01:00
Matthäus G. Chajdas ba4c9d6837 Prepare everything for the performance counter viewer window. 2017-08-24 13:21:02 +01:00
baldurk e85c8d19bf Combine 'special' with 'specialFormat' as single resource format type
* There was no good reason to have a flag indicating if the special
  format was valid or not. Now it's a single enum, with a value
  'Regular' indicating that the compCount/compWidth/compType fully
  describe the format itself.
* This makes code patterns easier as you no longer need to check for
  special then check for specialFormat, you can just test the type
  directly.
2017-08-24 10:37:16 +01:00
baldurk 9b4ee72af6 Pass pipeline state around by reference instead of copying by value 2017-08-18 19:37:18 +01:00
baldurk 2b8b101fa5 Make sure QVariant is available before including renderdoc_replay.h 2017-08-18 19:37:17 +01:00
baldurk 4c24b0f28f Remove use of ToQStr to convert rdctype::str to QString 2017-08-18 14:13:22 +01:00
baldurk ef84f494a2 Add a macro that enables qt-compatibility in the renderdoc replay API
* This will be used to remove the ToQStr everywhere (where it's not
  used for actual stringification of enums/structs)
2017-08-16 18:28:11 +01:00
baldurk cfd816d7f3 Enable RDStyle by default, add style selection in the settings dialog 2017-08-16 17:39:37 +01:00
baldurk b70e897838 Change workaround for visual assist bug with large raw strings in macros
* The bug seems to happen if two raw strings concatenated together are
  large enough, so instead we pass them as separate parameters to a
  different macro then concatenate them inside the macro.
2017-08-16 16:29:56 +01:00
Cody Northrop fb8eef23d0 android: Improve workflow on devices with root
During initial scan of application, detect if root access is available
and track it.  If user later selects "Click here for ways to fix this".
display a new dialogue that offers to push the layer directly.

If pushing fails, fall back to production dialogue.

Also add a new persistent setting to enable automatic layer pushing.
2017-08-15 09:36:20 -07:00
baldurk 806876c540 Add a menu item to do nothing but replay the capture in a tight loop. 2017-07-27 16:14:17 +01:00
baldurk 41092e869f Allow clicking 'next draw' from the frame start marker at EID 0 2017-07-17 12:36:04 +01:00
baldurk d3d1bcd136 Add work in progress timeline bar
* Has an EID scale bar along the top, and simple zoom/pan, but nothing
  else.
2017-07-13 18:44:41 +01:00
baldurk 0032a11fc2 Implement global hook feature for Qt 2017-07-12 13:54:12 +01:00
baldurk bf220eed88 Make sure to serialise inject mode with capture settings JSON 2017-07-12 13:45:45 +01:00
baldurk 79101c7b13 Move DXBC shader friendly naming logic into C++ side code
* This makes more sense and lets us share it between Qt and C# UIs.
2017-07-05 20:37:49 +01:00
baldurk 08cbddf063 Fix clang-format problems that were included
* My git hook got silently broken :(.
2017-06-21 22:20:00 +01:00
baldurk f8aa58343a Allocate enough space in the QVector for resolve attachments 2017-06-21 21:16:25 +01:00
baldurk 90077f54ee Make sure to skip padding registers when enumerating D3D12 bindings 2017-06-21 11:02:44 +01:00
baldurk abcfcfd8a4 Display resolve attachments with other framebuffer outputs in UI 2017-06-16 15:59:39 +01:00
baldurk e0104e8fe0 Allow configured adb path to be empty, look for adb in shipped path
* On windows we ship adb.exe under android/ so that there's no configure
  needed. Look for that file if there isn't an override path.
2017-06-15 05:28:07 -07:00
baldurk 6423a82d18 Add support for multiple connected android devices
* We forward a different range of ports to each device so we can pick
  and choose which to communicate with based on its index.
* The index is encoded in the 'hostname' like so: adb:X:deviceidhere
* Whenever we want to interact with an android device we always specify
  the device, never leave it to a default.
2017-06-15 05:28:07 -07:00
baldurk 06b5b300c3 When enumerating adb devices, reuse old hosts where possible.
* This fixes a crash where an enumeration from application startup is
  still going when opening the remote manager dialog, and then all the
  android hosts that are being enumerated get deleted while it's still
  going.
2017-06-15 05:28:07 -07:00
baldurk c76b8298f8 Use adb getprop to give adb devices friendly names
* This means you'll see "Google Pixel XL" or "samsung SM-G900F" instead
  of "HT74T0200775" or "9a9502c6"
2017-06-15 05:28:07 -07:00
baldurk e4eb6a1fc8 Add documentation for new function 2017-06-15 05:28:07 -07:00
Michael Rennie 70f55a1458 Start/Shutdown Android server from RemoteManager dialog.
ANativeActivity_finish when renderdoccmd() returns.
2017-06-14 05:03:46 -07:00
baldurk 199c26adbf Put the MainWindow in charge of handling 'global' type shortcuts
* QShortcut falls down on duplicates. It can have activatedAmbiguously
  events, but these happen in arbitrary order and the shortcuts on
  menu items just swallow the ambiguous activate so it's not useful.
* Instead we just let MainWindow pick up ShortcutOverride events and
  consult a mapping of which shortcuts to use. We can use a smarter
  selection method to choose the more 'local' shortcut if two shortcuts
  that conflict exist.
2017-06-08 18:23:10 +01:00
baldurk 158bc4d583 Update code for new toolwindowmanager 2017-05-29 13:31:28 +01:00
baldurk c18e846c69 Fix a broken UTF-8 string on Qt MSVC builds 2017-05-09 15:26:31 +01:00
baldurk ab432f24fc Implement the UI option for preferring monospaced font 2017-05-04 20:36:46 +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 18d3eae1c8 Ensure that constant buffer views are grouped together in docking 2017-04-28 18:36:56 +01:00
Michael Rennie ca553e6c5c Set the MaxConnectTimeout setting for connecting to Android packages. 2017-04-27 09:13:14 -07: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 2a4596e06a Add python shell qt window 2017-04-19 18:03:19 +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