Commit Graph

5762 Commits

Author SHA1 Message Date
baldurk 92c545ea06 Fix 32-bit compilation error with explicit VK_NULL_HANDLE comparison 2017-06-28 11:48:13 +01:00
baldurk f190f9af06 Fix global hook shim referencing removed functions
* It was still pointing at old functions, which have since been removed.
2017-06-28 11:24:02 +01:00
baldurk eb5a3f64d1 If RefAllResources is enabled, don't bother to track bound descriptors
* It's not needed as all resources will be included anyway, and it can
  save some time wasted on the tracking.
2017-06-28 11:18:21 +01:00
baldurk d71df3810f Set debug names on objects during replay
* Any 'default' names that just use the ID will be overwritten by any
  proper name the capture gives them.
2017-06-28 10:58:59 +01:00
baldurk 78aca86902 Add an extra GPU sync between submissions on different queues
* If the application did some CPU side synchronisation that's not
  visible in the capture (unlike a queue Wait() which we replay as a GPU
  sync) then there might be overlap that causes simultaneous use
  problems. So instead we sync between submissions on different queues
  to ensure we don't overlap by accident.
2017-06-28 10:54:29 +01:00
baldurk 29726388f6 Fix implementation of D3D12ResourceManager::SerialisableResource
* When referencing all resources we use this function to determine what
  should be excluded, and in this case we want to make sure that e.g.
  the device record and any swapchain records are included, but the
  queue/list records or frame capture record should be omitted as they
  will be included specially.
2017-06-28 10:50:01 +01:00
baldurk 68523abad9 Add a separate command list for data uploads
* Since D3D12 doesn't allow recording to multiple commands at once, if
  we end up doing a partial replay and including a data upload that uses
  a list to upload, we need a separate list and allocator.
2017-06-28 10:48:42 +01:00
baldurk f37079bff0 Use 64-bit counters for tracking compression sizes.
* There's still an issue lurking that the compressed size is stored as
  32-bit on disk, but at least now we don't store the uncompressed size
  as 64-bit but track it as 32-bit.
* The serialisation is going to change Soon(tm) anyway so this
  workaround should be enough for now, since hopefully compressed size
  is comfortably below uncompressed size.
2017-06-28 10:39:11 +01:00
baldurk cfcda0919b Workaround issue creating storage MSAA images on recent AMD driver 2017-06-26 11:13:59 +01:00
baldurk 6d89d451cd Switch orders of depth and stencil copies when restoring D/S 'MS' arrays
* This was previously needed to be stencil-before-depth to workaround an
  nvidia driver bug, but now depth-before-stencil works around a RADV
  hang and it no longer seems to be necessary for nvidia.
* The RADV issue is being fixed upstream but this is a 'free' workaround
  until that arrives.
2017-06-26 10:53:42 +01:00
baldurk aa34cf131b Change KeyUp to KeyDown event so we don't get false positives. Refs #674
* If we pick up on keyup, it might be a keypress from somewhere else
  (like a dialog) that was released on our control. Instead we should
  look for keydown.
2017-06-23 21:44:21 +01:00
baldurk a34c7e0d89 Update toolwindowmanager to 5025511 2017-06-23 21:44:21 +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
Cody Northrop e69fb7f9e2 cmake: Add option for custom RenderDocCmd.apk location 2017-06-23 02:39:11 -07:00
Cody Northrop efac8d85ac android: Automatic install of RenderDoc server 2017-06-23 02:39:11 -07:00
Cody Northrop 48d759e289 android: Print stderr from adb commands 2017-06-23 02:39:11 -07:00
Cody Northrop cced0e695b Add endswith helper to string_utils 2017-06-23 02:39:11 -07:00
Cody Northrop 95225d12b4 Add IsRelativePath helper 2017-06-23 02:39:11 -07:00
Janos Pantos 506954ffb8 Use glClearDepthf instead of glClearDepth during replay in case of GLES
Because GLES doesn't support glClearDepth.
2017-06-22 11:37:41 -07:00
baldurk 094b9ebf35 Configure build to work with case fallthrough GCC7 warning. Refs #671 2017-06-22 14:20:23 +01:00
Christian Kellner 31f67f4c19 Add fallthrough comments to fix gcc warnings 2017-06-22 14:20:23 +01:00
baldurk 91a6bb011b Add cmake option to choose where the forked SWIG source is fetched from 2017-06-22 14:20:22 +01:00
baldurk 63f4bf2d77 Add a cmake option to override the name of the 'qmake' binary. Refs #671 2017-06-22 14:20:21 +01:00
baldurk 747afa7b74 Handle subpasses with all color attachments being UNUSED. Refs #670 2017-06-22 14:20:21 +01:00
baldurk a00e0f3ed0 Add link to wiki information on clang-format to CONTRIBUTING.md 2017-06-22 14:20:20 +01:00
baldurk 6c4eb5cf71 Update toolwindowmanager to 6f1c258 2017-06-22 14:20:19 +01:00
baldurk 25c72714cd Fix errors to be more friendly when converting QWidgets in python 2017-06-22 14:20:19 +01:00
baldurk 614b04a34f Check for an active replacement when naming command buffers. Refs #669 2017-06-22 14:20:18 +01:00
Tim Jones bcad28b4d0 Add initial D3D8 driver
Implemented overlay, but no capture or replay yet, so this is
functionally equivalent to the current D3D9 implementation.
2017-06-22 06:07:28 -07: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 391e0966af Add items to matrix type dropdown in buffer viewer configuration 2017-06-21 21:17:35 +01:00
baldurk 57806148dd Allow descriptor set writes to be missing vulkan handles
* Since we don't mark descriptor sets or the written data as referenced
  until the descriptor set is actually used, any writes for sets that
  are otherwise unused might be missing the necessary objects.
* This is harmless though so we just make sure not to warn about them
  being missing as it gets spammy.
2017-06-21 21:17:20 +01:00
baldurk f8aa58343a Allocate enough space in the QVector for resolve attachments 2017-06-21 21:16:25 +01:00
baldurk 72abd054c8 Make sure to pad allocations to allow for buffers on replay as well
* Capture allocations were already doing this, but we create a whole-mem
  buffer for replay allocations so we should also pad them up.
2017-06-21 21:16:13 +01:00
baldurk 4a73c69d1c Add SPIR-V disassembly of OpVectorExtractDynamic 2017-06-21 21:15:43 +01:00
baldurk 6ea2358d60 Remove an errant debug print 2017-06-21 21:14:57 +01:00
baldurk 7e3e86f56f Don't apply graphics state to compute or copy command lists 2017-06-21 11:06:58 +01:00
baldurk ba91e82feb Don't try to replay maps with empty writes.
* This can lead to crashes if we try to optimise with a buffer upload
  and try to create a buffer of 0 bytes. Easier just to skip these no-op
  maps.
2017-06-21 11:06:21 +01:00
baldurk 1dc3f65445 Handle some edge cases around samplers being lumped in with RO resources 2017-06-21 11:05:40 +01:00
baldurk 90077f54ee Make sure to skip padding registers when enumerating D3D12 bindings 2017-06-21 11:02:44 +01:00
baldurk 734fa13443 Add support for __uuidof(ID3D12Device1) in D3D12CreateDevice
* Make sure to cast to/from the right interface when handling the void*
2017-06-21 00:03:44 +01:00
baldurk ec8aa67ed3 Fix mismatching enums between C# and C++. Refs #665 2017-06-20 17:11:21 +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 b87cf00c86 Fix range histogram painting to be device pixel ratio aware. 2017-06-19 16:17:20 +01:00
baldurk cc1abb98a9 Update toolwindowmanager to 368309a 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