Commit Graph

261 Commits

Author SHA1 Message Date
baldurk 25c72714cd Fix errors to be more friendly when converting QWidgets in python 2017-06-22 14:20:19 +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 628e6481d5 Distinguish between friendly and real hostnames for remote hosts
* This means we don't pass a friendly hostname internally to connect to,
  and we don't display a hostname where we want a friendly hostname.
2017-06-19 16:17:20 +01:00
baldurk d44528794a Change qrenderdoc icons to Farm-Fresh, to add high-DPI versions. 2017-06-19 16:17:20 +01:00
baldurk b2f760a1c6 Fix detection of "matN" in buffer format specifier 2017-06-19 16:17:19 +01:00
baldurk 5fc90f7a08 Fix menus not showing up on some user configurations
* Menus aren't guaranteed to pass isVisible() immediately after calling
  popup() on them, so we need to wait for their aboutToHide signal to
  stop the event loop.
2017-06-16 23:31:05 +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 d19ba7eadc Make sure temporary logs opened from the command line are cleaned up 2017-06-13 18:13:31 +01:00
baldurk 25f18defd4 Use a qt.conf to point plugins at qtplugins/ in the application path.
* We can point the platform plugins path at the application dir for
  qwindows.dll for example, but there's no equivalent for image format
  plugins which we need for qsvg.dll. So instead we shove them all under
  an explicit qtplugins path.
* Also now that we have this, copy qsvg.dll into the distribution.
2017-06-13 14:56:40 +01:00
baldurk f9c9adedf3 Use logo.svg instead of icon.ico in qrenderdoc
* This means we don't need to distribute the ico reading qt plugin
2017-06-13 14:56:40 +01:00
baldurk ea85b5e366 Fix stub to match changed signature 2017-06-09 19:36:20 +01:00
baldurk 0b1c3725b9 Add a fallback path for opaque qwidgets if pyside2 isn't compiled in
* Even if we don't have pyside2 to treat qwidgets as full objects and
  access their methods and data, we still need to be able to pass around
  the QWidget* as an opaque pointer to be able to use the API properly.
* This change falls back to just using SWIG's default opaque pointer
  wrapping and unwrapping when pyside2 isn't available.
2017-06-09 17:02:09 +01:00
baldurk 8e423f4c76 Add some parameter checking to the capture context interface 2017-06-09 17:00:44 +01:00
baldurk 1cc2c22195 Invoke CaptureContext function calls onto UI thread, from python thread
* Any work that might use Qt needs to happen on the UI thread, so when
  running a python script on the python thread we need to invoke across.
  We wrap the main ICaptureContext interface to block invoke onto the UI
  for any function calls that aren't just returning internal data.
2017-06-09 17:00:28 +01:00
baldurk 21836c240d Don't crash on NULL pointers being dealloc'd
* The error handling code will be OK if a NULL parameter was passed in
  but during cleanup it will go through tempdealloc, so we need to check
  that the pointer is actually valid.
2017-06-09 16:57:33 +01:00
baldurk 27ae30aaa3 Print messages to Qt logger from command line python scripts 2017-06-09 16:56:47 +01:00
baldurk 055acb05e1 Fix an unused variable warning with python parameterless callbacks 2017-06-08 21:31:21 +01: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 2f1301e758 Settle on consistent 'capture' name for captured files, dropping 'log' 2017-06-08 16:35:14 +01:00
baldurk ffcbf233d1 Link against python in python modules for now. Refs #639
* This really isn't ideal as it means the python module will only work
  with that specific major.minor version of python, when it could in
  theory work with any python version above 3.2 or so, depending on what
  features are used.
* Since we're not distributing these modules yet though, add this
  linking to support -Wl,--no-undefined.
2017-06-08 14:02:21 +01:00
baldurk fe8c76154f Draw gridlines in WindowText palette color, not just black 2017-06-01 14:23:34 +01:00
baldurk 3076b4337b Move size delegate into item margins implemented by RDTreeView 2017-06-01 14:17:00 +01:00
baldurk cbdf9951b9 Style preprocessor commands in HLSL/GLSL 2017-06-01 11:28:38 +01:00
baldurk 0f8e3ce452 Send DeferredDelete events explicitly in our main event loop
* It's not entirely clear if this is the intended fix, but otherwise
  since we're not running QApplication::exec() the main event loop has
  the same 'loop level' of 0 as the event level when it's fired. The
  proper functioning seems to be that the posted deleteLater event
  should have an event level of 1 which then means it will be processed
  when coming back to the exec() loop level of 0, but since we don't get
  that, just run it manually after all other events.
2017-06-01 11:28:36 +01:00
baldurk 4d8ee2be43 Remove a function that is unimplemented and unused 2017-05-30 15:38:23 +01:00
baldurk a79ca2f73c Fix an extra arg %4 parameter that's unused for 3-wide vectors 2017-05-30 15:38:15 +01:00
baldurk 3ab7510c7f Avoid calling XOpenDisplay multiple times, fixes crashes on Intel Mesa
* See https://bugs.freedesktop.org/show_bug.cgi?id=99831
  https://bugs.freedesktop.org/show_bug.cgi?id=54971
* It's not clear if it's invalid to call XOpenDisplay more than once but
  at the very least it's only really used as convenience to avoid
  plumbing the display handle through.
2017-05-30 12:02:00 +01:00
baldurk 158bc4d583 Update code for new toolwindowmanager 2017-05-29 13:31:28 +01:00
baldurk 5f05c4309f Fix a mistaken string format that merged two arguments accidentally. 2017-05-19 14:41:23 +01:00
baldurk 5b74b66493 Don't construct a QFont globally (as a class static)
* It causes a crash when Qt is statically linked.
2017-05-18 15:05:03 +01:00
baldurk f6cef9ea4a Don't setFont(Consolas) - it's windows only. Fix monospace for scintilla 2017-05-17 15:55:42 +01:00
baldurk 5b5e30cf54 Add HTML pipeline export for qrenderdoc 2017-05-15 10:11:56 +01:00
baldurk 83f155855b Hex formatted numbers are always uppercase 2017-05-15 10:11:55 +01:00
baldurk 870f0cc166 Filename filters should be translated 2017-05-15 10:11:55 +01:00
baldurk 1ca55a8237 Add an optional 'rgb' specifier to colour buffer cells backgrounds
* When opening a texture as a buffer we can make use of this.
2017-05-10 17:20:37 +01:00
baldurk c18e846c69 Fix a broken UTF-8 string on Qt MSVC builds 2017-05-09 15:26:31 +01:00
baldurk b8d7726822 Make SPIR-V disassembly more robust over empty structs or cbuffers 2017-05-09 15:26:31 +01:00
baldurk c854294dc8 Add calls to XInitThreads() to allow driver multithreading optimisations 2017-05-05 16:45:29 +01:00
baldurk bbff0fce1c Implement row colouring and tree colouring in event browser.
* Also do custom painting of branches to do proper full-row colouring
  instead of leaving an ugly gap around the tree controls.
2017-05-04 20:36:46 +01:00
baldurk ab432f24fc Implement the UI option for preferring monospaced font 2017-05-04 20:36:46 +01:00
baldurk 8b3c06ac67 QStringLiteral compile fix for static qrenderdoc code 2017-05-03 08:53:56 +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