Commit Graph

407 Commits

Author SHA1 Message Date
baldurk bcd08f77a6 Set word wrap on fixed state labels in pipeline viewers
* This allows the pipeline state viewer to have a smaller minimum size
  which is useful when resizing the whole program UI.
2017-07-12 17:29:09 +01:00
baldurk 0032a11fc2 Implement global hook feature for Qt 2017-07-12 13:54:12 +01:00
baldurk f8b458176a Add stub HLSL generation for editing D3D shaders that have no source 2017-07-06 16:34:48 +01:00
baldurk 13bf08a99e Remove disassembly from shader reflection, request it on demand 2017-07-05 16:31:44 +01:00
baldurk bdf2a68c71 Add shader's ID and entry point to the shader reflection struct
* This allows better identification of a shader from its reflection
  bundle. The entry point was already 'optionally' in the debug info
  struct which is no longer a great location for it.
* For APIs where the entry point isn't contractual and it might not be
  listed, instead we just fall back to 'main'. This means that the UI
  or anyone fetching the info can be guaranteed that some sensible entry
  point will be listed.
* Also for the debug info, remove the 'entryFile' index and instead just
  guarantee that as much as possible the entry point will be in the
  first file in the list.
2017-07-05 16:29:26 +01:00
baldurk c211df25be Add custom painting and section handling to RDTableView & RDHeaderView
* This is used primarily for the buffer/mesh viewer to be able to pin
  the index/element column to the left side, group columns together with
  a noticeable separator, and other minor tweaks.
* Unfortunately due to tight private coupling and lack of virtual
  functions in the QTableView and QHeaderView, a few unrelated functions
  have to be re-implemented to point to our own header.
2017-06-23 21:44:21 +01:00
baldurk 5c342332f9 Make mesh component highlighting respect colourscheme lightness 2017-06-23 21:44:21 +01:00
Christian Kellner 31f67f4c19 Add fallthrough comments to fix gcc warnings 2017-06-22 14:20:23 +01:00
baldurk 391e0966af Add items to matrix type dropdown in buffer viewer configuration 2017-06-21 21:17:35 +01:00
baldurk 6ea2358d60 Remove an errant debug print 2017-06-21 21:14:57 +01:00
baldurk b930b255c9 Don't close the live capture while a menu might still be open. 2017-06-20 10:46:18 +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 ac885b1882 Fix handling for a couple of cases where we need device pixel co-ords
* When interacting with the C++ UI we have to use device pixels, so
  multiply/divide by the device pixel ratio.
2017-06-19 16:17:20 +01:00
baldurk 2831c4dfdd Set a proper sizeHint for the pipeline flowchart 2017-06-19 16:17:19 +01:00
baldurk efe105a203 Remove TODO for implemented feature 2017-06-16 23:07:50 +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 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 02a7d8d50c Remove confusing duplicated logic in remote manager
* Instead of having button enabling and so on logic in both
  on_hostname_textEdited and on_hosts_itemClicked, just handle the
  hostname edit as selection or unselecting any matching item, and then
  process all the logic whenever the selection changes.
2017-06-15 05:28:07 -07:00
baldurk 1ffe0b634b Fix deleting hosts from remote manager
* Checking for a NULL parent item doesn't work, the parent will be the
  invisible root item.
* Also make sure we don't delete a host that might have enumerations
  still going for it.
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 d515c69a9f Remove alternating row colors in most places.
* This was only added because the default tree widget controls don't
  render any grid lines. Now that we're custom drawing them, the row
  colors are distracting and can be confusing on themes where the
  selected row is very faint.
2017-06-13 18:19:02 +01:00
baldurk d19ba7eadc Make sure temporary logs opened from the command line are cleaned up 2017-06-13 18:13:31 +01:00
baldurk 3ba62df061 If just clicking on the plain open button (not menu), open the capture 2017-06-13 18:11:43 +01:00
baldurk d6d93a7734 Keep margins consistent between tabs in the settings window 2017-06-13 14:56:40 +01:00
baldurk c1fb2bb020 Add editing/renaming and delete key to live connection window 2017-06-13 14:56:40 +01:00
baldurk 13e9096f94 Decode JPG capture thumbnails to raw bytes before passing to the UI
* This removes the need to have JPG decode in qt.
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 2454863b80 Implement CSV export in constant buffer previewer. Refs #646 2017-06-12 10:34:42 +01:00
baldurk ab96b05b53 Remove mistaken double assignment 2017-06-09 19:38:23 +01:00
baldurk 28c1aee05b Add virtual destructor for CaptureContextInvoker 2017-06-09 19:36:57 +01:00
baldurk f6399609f9 Add headers for mouse and key events being used 2017-06-09 19:36:46 +01:00
baldurk 6d02b16935 Add missing override specifier 2017-06-09 19:36:29 +01:00
baldurk 1574103613 Add click-to-highlight for registers 2017-06-09 17:57:33 +01:00
baldurk 0cfa8c1eb9 Add variable tooltips to the shader viewer showing float/int/uint values 2017-06-09 17:04:23 +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 7fe267d548 Only add log viewer at the end of constructors, so the window is ready
* Otherwise if OnLogFileLoaded gets called while adding the log viewer
  the window might be partially constructed and crash.
2017-06-09 12:08:39 +01:00
baldurk 2da46640d0 Add watch variables handling to qt shader viewer 2017-06-09 12:06:57 +01:00
baldurk 2319681217 Mark overrided function as override 2017-06-08 21:31:28 +01:00
baldurk 8a59754bf8 Disable save/close capture menu items when there's no capture open 2017-06-08 18:23:23 +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
Peter Gal 4263b55ffa Fix enum flag usages in the qrenderdoc
There are a few places where the logical 'and' operator
was used to check if a given flag is enabled however
that is not the correct operator.

The binary 'and' operator should be used where
the enum acts as a flag.
2017-06-08 08:34:54 -07:00
baldurk 54b9263597 Persist the mesh view's dock layout between sessions 2017-06-03 00:59:57 +01:00
baldurk a4fe376c32 Add column selection popup for event browser and persist column state
* We can add in the Draw # column now, and set up the default state to
  not include the duration column.
2017-06-03 00:53:54 +01:00
baldurk 63bf0310d3 Fix summing of durations in event browser 2017-06-03 00:46:11 +01:00
baldurk 3b6f63be0d Make event browser columns properly resizable and re-orderable
* Annoyingly although Qt has an internal bool allowUserMoveOfSection0
  which does exactly what we want allowing the tree column to be
  movable, we can't enable it because it's private. So instead we have
  to re-implement section moving ourselves.
* Minor tweak - also made RDTreeWidgets non-movable by default since
  usually we don't want to allow it.
2017-06-03 00:38:02 +01:00
baldurk 10aa73528d Reset event browser before it's added
* When we add it, if a log is already open that's when we get the
  callback to OnLogFileOpened to initialised. If we close afterwards,
  we'll be in an inconsistent state.
2017-06-01 18:50:14 +01:00