Commit Graph

438 Commits

Author SHA1 Message Date
baldurk d57cc1b188 Add more consistency to docking panels and widgets
* Dock panels shouldn't have any frame border or anything like that.
* They should have an external margin of 3 pixels at their border,
  but then no further margins on the layouts (like sub-controls for
  the pipeline state views.
* Toolbars should be Raised & Panel frames. Later we'll replace them
  with actual QToolBars to better customise the painting.
2017-07-28 19:06:46 +01:00
baldurk 89945f711d Switch to SVG topology diagrams
* We need to custom paint the SVG at the right devicepixelratio because
  Qt seems to be busted at scaling up - nothing I can see causes the
  SVG to be rendered at higher than it's default resolution, so you end
  up with plain bilinear upscale.
* Since we're doing custom palette swap anyway, it's not much harm to
  just render ourselves, as we already basically had a dependency on
  QtSvg - just need to add the include files to the dependencies.
2017-07-28 19:06:46 +01:00
baldurk 9434b622a1 Make sure that pan remains unchanged when setting scrollbar range 2017-07-28 19:06:46 +01:00
baldurk b63c91da0f Remove fake box frames around find/goto. Superceded by custom style 2017-07-28 19:06:45 +01:00
baldurk a6f0d07e09 Remove most stylesheet use as this messes with a custom style
* Use palettes where a certain colour is needed.
* Still need some solution for table borders in grid layouts
2017-07-28 19:06:44 +01:00
baldurk 1cda979d8f Clear QPixmapCache if style/palette changes (Qt should do this really) 2017-07-28 19:06:43 +01:00
baldurk 26711eca2e Use MainWindow palette for tooltips 2017-07-28 19:06:41 +01:00
baldurk 247382af51 Fix a few widgets to properly respond to and use style changes 2017-07-28 19:06:41 +01:00
baldurk 58d40fdc26 Don't show 0.0 as the default drawcall duration 2017-07-28 19:06:39 +01: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 a53801f019 Make sure dependent options in capture dialog always update 2017-07-25 09:24:33 +01:00
baldurk fbeb57baf6 Don't change background colour if the QColorDialog was aborted 2017-07-25 09:23:17 +01:00
baldurk 8a0432add9 Fix crashes if drawcall list goes away when log is closed 2017-07-25 09:23:04 +01:00
baldurk e005522152 Give better default sizing on startup to VTX/IDX columns 2017-07-25 09:22:51 +01:00
baldurk 599b6f1eaf Add manual fixup of <img> tags in richtext labels, to set to @2x version 2017-07-25 09:22:32 +01:00
Cody Northrop d66afc0144 android: Add ability to check RenderDoc support, try to fix it
After selecting an application to launch on Android, inspect it to see if
it contains the RenderDoc layer and required permissions. If it does not,
display a warning similar to desktop. When clicked, if only the layer was
missing, offer to patch the APK, uninstall, and reinstall, with the
warning that it doesn't work for all applications (or at all for GLES).
Also provides pointers to how to package the layer yourself.

The process works by using the host temp directory to pull the APK and
modify it.  If the steps fail for any reason, the log is populated and
patching is halted.
2017-07-21 10:29:46 -07:00
baldurk 2f6dffffc5 Expose camera class properly, drop Camera_* entry points from Qt UI 2017-07-17 16:34:12 +01:00
baldurk 515c933545 Rename Maths_* and Topology_* to make RENDERDOC_ a consistent prefix
* This will make it easier for a linker script on linux
2017-07-17 15:14:15 +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 8adde662fd Save target of clear calls that don't clear currently bound targets
* This prevents the UI from showing confusing results when the currently
  bound state doesn't match what's being cleared.
2017-07-17 11:33:50 +01:00
baldurk 1676f2698e Disable previous/next buttons when there's no previous/next drawcall 2017-07-17 11:30:31 +01:00
baldurk 76cfcd5601 Highlight resources/history from other parts of the UI in timeline bar 2017-07-14 19:57:14 +01:00
baldurk 9ea8ed229d Add usage/history highlighting 2017-07-14 19:56:56 +01:00
baldurk 0ecf9ee8fb Add marker regions and drawcalls to the display 2017-07-14 18:44:19 +01:00
baldurk 0aad2e9c03 Tweak hover label a bit - remove it on leave and don't clip both sides 2017-07-14 13:09:03 +01:00
baldurk 57bdd0495b Add labels on hover and current event, and jump to event on click 2017-07-14 12:56:10 +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 df9f72b857 Add option to ignore icon size when sizing rows in a RDTreeView 2017-07-13 13:57:33 +01:00
baldurk b254cd7ac1 Fix crash with NULL drawcall 2017-07-13 13:57:09 +01:00
baldurk 5078d68234 Use new stretch hints mode to improve column sizing in pipeline states 2017-07-12 19:51:10 +01:00
baldurk 1e840356a1 Change pipeline state viewers so minimum panel size is smaller
* Add scroll areas for the larger tabs and allow pipe flowchart to
  resize to its minimum size if needed.
* The idea here isn't that anyone will seriously try to use the pipe
  view at 500x200 but more that the minimum size doesn't become a
  problem while moving around windows or panels, or resizing temporarily
2017-07-12 19:44:51 +01:00
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