Commit Graph

5898 Commits

Author SHA1 Message Date
baldurk 03cf4d2ce3 Customise button rendering in RDStyle 2017-07-28 19:06:42 +01:00
baldurk c601414e39 Add light and dark palettes to RDStyle 2017-07-28 19:06:42 +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 3ea74aa73b Treeview expanders shouldn't be Dark, they should be Text 2017-07-28 19:06:41 +01:00
baldurk 9a782158fd Fork RDStyle to RDTweakedNativeStyle
* The idea is tha this style won't change the palette and will just do
  some minimal additions/changes to whatever the native style is, to
  work around some rough spots.
2017-07-28 19:06:41 +01:00
baldurk 6cedd3755b Add custom rendering of tab close buttons 2017-07-28 19:06:41 +01:00
baldurk 2dc577a02c Update toolwindowmanager to d520d7a 2017-07-28 19:06:41 +01:00
baldurk 3a4327b664 Tweak RangeHistogram painting to better adjust to palettes 2017-07-28 19:06:40 +01:00
baldurk 60ba617f38 Add custom branches/indicators for tree controls 2017-07-28 19:06:40 +01:00
baldurk b6a73a4bb0 Draw custom coloured tree widget lines over the top of built-in style 2017-07-28 19:06:40 +01:00
baldurk 83c413129e Add the beginnings of a unified cross-OS style
* First thing changed, auto-raise toolbuttons don't sink when enabled,
  but remain flat and highlighted.
2017-07-28 19:06:40 +01:00
baldurk 8aaa44d624 Fill out SPIR-V bytes array for compute pipelines 2017-07-28 19:06:40 +01:00
baldurk 7f6dc8d91c Initialise unread message count to 0 2017-07-28 19:06:40 +01:00
baldurk 58d40fdc26 Don't show 0.0 as the default drawcall duration 2017-07-28 19:06:39 +01:00
baldurk f3cae89df7 Don't treat combined image/sampler resources as samplers and discard 2017-07-28 19:06:39 +01:00
Janos Pantos 7d46b21fd6 Fix binary compatibility issue caused by 310ada8
Move the new multi-view chunk types to the end of GLChunkType enum.
2017-07-28 11:06:21 -07:00
baldurk fec5b60c67 Use the cached resource ResourceId inside views
* Slightly faster than calling to get the resource in WrappedView1 then
  looking up its ID.
2017-07-27 16:17:25 +01:00
baldurk 61db91eb42 Cache whether the current pipeline is partially-writing to OM targets
* This is updated whenever the OM bindings change, or viewport/scissors
  change. Much lower frequency than per-draw where we were calculating
  this information during capture.
2017-07-27 16:17:25 +01:00
baldurk 9f172daffc Don't mark renderstate dirty on each draw, mark dirty on bind
* Note this also means we can't mark resources clean when clearing them
  since you could bind -> clear -> draw and the resource wouldn't be
  re-marked dirty. This isn't much of a loss in precision though since
  usually any resource that's cleared is going to be dirty again in
  short order, so there's no point trying to track it in the hopes that
  it might stay clean.
* For the most part the code was doing this, but there were a couple of
  inconsistencies along the way.
2017-07-27 16:17:25 +01:00
baldurk d27c15a0ab Refactor render state to use cached resource ranges for views
* We also check for null resources and early out before fetching or
  constructing the range and doing the intersection test.
2017-07-27 16:17:25 +01:00
baldurk eba2c65870 Move ResourceRange out of the render state, and cache it in views
* We also store depth & stencil read-only state for DSVs and SRVs.
2017-07-27 16:17:25 +01:00
baldurk 5b828c8f9d Add template specialisations for GetIDForResource for most types
* This avoids having to go throug the pool checking when we know
  concretely what type we're looking up, we just need to cast to the
  wrapped type and fetch it.
2017-07-27 16:17:24 +01:00
baldurk 97e16e8333 Make sure to sync *all* GPU queues before processing ExecuteIndirect 2017-07-27 16:14:18 +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 2e8f559f51 Where available we replay to AMD markers as well as D3D12 markers 2017-07-27 16:14:17 +01:00
baldurk 72bae9bdc9 Re-organise debug marker handling during replay
* Where available or allowed, we replay the captured user markers.
* When we're doing partial replay and we only push some of the markers
  then stop, we keep track of how many were pushed so we can pop them
  again and keep things balanced.
* Also for renderdoc internal book-keeping around the frame replay
  itself we explicitly annotate the renderdoc internals
* On vulkan since there are no queue-level markers, we fire single-shot
  command buffers that do nothing but push/pop/insert a marker.
2017-07-27 16:14:17 +01:00
baldurk 180947ddcb Unify handling of extension fetching between capture & replay
* Instead of hardcoding which extension functions we fetch on replay,
  we do the same as on capture and fetch all functions for the
  extensions that are actually enabled.
2017-07-27 16:14:17 +01:00
Jimmy Lee 517251caee fixed vrapi swapchain mip level inaccuracy 2017-07-26 02:31:34 -07:00
Jimmy Lee 310ada841a gles multi-view support 2017-07-26 02:31:34 -07:00
baldurk 8476be2300 Fix mac build, split PlistBuddy use to separate script, suppress errors
* There's no "add or replace" so we have to just delete and ignore if
  it fails, then add/set as normal.
2017-07-25 22:06:30 +01:00
baldurk fb1c75ab1c Don't fork to new process if we don't have anything to run
* If we fork and then exit it seems to leave weird processes around that
  hang around.
2017-07-25 20:34:38 +01:00
baldurk a53801f019 Make sure dependent options in capture dialog always update 2017-07-25 09:24:33 +01:00
baldurk 7ba92df31e Fix incorrectly swapped for Vulkan/OpenGL ISA generation ability 2017-07-25 09:23:37 +01:00
baldurk 07aa7e5cbc Add timeline bar to VS filters 2017-07-25 09:23:26 +01:00
baldurk fbeb57baf6 Don't change background colour if the QColorDialog was aborted 2017-07-25 09:23:17 +01:00
baldurk 371c1f9f8c Update currently hovered item on scroll events too. 2017-07-25 09:23:09 +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
baldurk 6612024f43 Fix use of PlistBuddy on subsequent recompilations of qrenderdoc on OS X
* There's an error if you add a property that's already there, so we
  instead delete it each time before adding it.
2017-07-25 09:21:14 +01:00
baldurk 434534d2e3 Release DIA2 handles when shutting down callstack resolver
* Otherwise a handle is kept open to the PDB and you can't recompile.
2017-07-25 09:11:17 +01:00
baldurk c2f08d25de Android layer is compiled as librenderdoc.so before being renamed/copied 2017-07-25 09:11:01 +01:00
baldurk d539fed918 Add support for VK_KHR_get_memory_requirements2 & dedicated_allocation
* Unverified as yet, but the former is relatively straightforward and
  not serialised, and the latter is quite similar to the NV dedicated
  allocation extension.
2017-07-21 18:52:15 +01:00
baldurk 001b6b4e92 Update to vulkan.h 1.0.55
* Drop support for now deprecated KHX sharing extensions:
  - VK_KHX_external_memory
  - VK_KHX_external_memory_capabilities
  - VK_KHX_external_memory_win32
  - VK_KHX_external_memory_fd
  - VK_KHX_external_semaphore
  - VK_KHX_external_semaphore_capabilities
  - VK_KHX_external_semaphore_win32
  - VK_KHX_external_semaphore_fd
  - VK_KHX_win32_keyed_mutex
* And add support for the KHR promoted versions (which are almost the
  same, with some minor changes).
2017-07-21 18:52:14 +01:00
Cody Northrop af896d55e6 cmake: Add variable for custom layer location 2017-07-21 10:29:46 -07: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
Cody Northrop 296854da73 strings: Helper to remove pattern from the end 2017-07-21 10:29:46 -07:00
Cody Northrop cde58e7326 process: Add a path to execute scripts 2017-07-21 10:29:46 -07:00
Cody Northrop 488820e291 FileIO: Move PATH searching into its own function 2017-07-21 10:29:46 -07:00