Commit Graph

8869 Commits

Author SHA1 Message Date
baldurk bf2dedefac Don't mark lost references as dirty when deleting resource records 2019-04-23 14:49:54 +01:00
baldurk 9698d0c7b4 Fix adb existence check 2019-04-23 13:39:44 +01:00
baldurk e13671a72c Add sanity check for if dock area isn't available while restoring layout 2019-04-22 18:39:53 +01:00
baldurk 6540c6e445 Add bounds check when looking up constant buffer on vulkan 2019-04-22 18:39:53 +01:00
baldurk 1b8d2113ca Patch subpass to 0 when fetching tessellation/geometry mesh output 2019-04-22 18:39:53 +01:00
baldurk 11e8bdb209 Display default 'viewed as' for typeless textures. Closes #1351
* Typeless textures must be interpreted as some kind of format, so without a
  better hint we use UNORM as a default. Ensure that this is listed explicitly
2019-04-22 18:39:52 +01:00
baldurk a1a89824d9 Make sure to process wglMakeCurrent(NULL, NULL) to track active contexts 2019-04-22 18:39:52 +01:00
baldurk d948e692fb Add missing serialise of newly added vulkan pipeline state members 2019-04-22 18:39:52 +01:00
baldurk b0f975714e Ensure initAdb() waits until adb is ready, rather than causing UI stalls 2019-04-22 18:39:52 +01:00
baldurk 9a94ec03cd Add a message if adb couldn't be found, reduce windows error spam 2019-04-22 18:39:52 +01:00
baldurk 2eac0ab03c Fix inaccurate tooltip for Android SDK path 2019-04-22 18:39:52 +01:00
baldurk 870d553a38 setPixmap can clear text, when removing pixmap do so before setting text 2019-04-22 18:39:52 +01:00
baldurk a6f17578c8 Fix query for depth bounds range values 2019-04-22 18:39:52 +01:00
Wade Brainerd 88cb468350 Fix minor omission in tooltip messages 2019-04-19 01:49:25 -07:00
baldurk a9a64242f6 Don't crash if python output happens without a stack frame
* This can happen if SyntaxWarning message are printed during parsing before
  execution.
2019-04-16 19:33:57 +01:00
baldurk 15306fe411 Don't set any RPATH/RUNPATH in librenderdoc.so
* This can cause conflicts with those values set in injected applications, and
  librenderdoc.so doesn't need any runtime paths to locate its dependencies
  (they are all expected global system libraries)
2019-04-13 21:22:38 +01:00
baldurk 2320bb5391 Pass the right MeshDataStage to HasAlignedPostVSData() 2019-04-12 16:51:35 +01:00
baldurk 615bb9ecad Remove all elements in the signature array that match not just the first
* For gl_ClipDistance etc there could be many entries with the same builtin
2019-04-12 16:51:22 +01:00
baldurk 7e33e1380b Don't try to patch output signature elements that are exploded arrays
* We only want to patch it once, for the original array.
2019-04-12 16:50:56 +01:00
baldurk de37c7d005 Check if the capture is closed while a timing request is pending 2019-04-12 15:11:26 +01:00
baldurk 04894b4331 Only destroy descriptor resources with bindless feedback if created 2019-04-12 15:00:29 +01:00
baldurk 62b03db531 Fix mismatched wide/narrow string formatting 2019-04-12 11:33:44 +01:00
baldurk ec1f104b44 Shutdown capture file properly in python example 2019-04-12 11:04:54 +01:00
baldurk e2a7ef3ceb Fix a couple of gcc 8 fall-through warnings 2019-04-12 10:46:39 +01:00
baldurk 82c54f7310 Update archlinux dependencies to include make & pkg-config 2019-04-12 10:40:44 +01:00
baldurk cc43af3aba When dragging the mouse on the timeline bar jump to the nearest draw 2019-04-11 13:29:11 +01:00
baldurk 09b5b5df8c Fix compilation using cmake 2.8.12 for now. Closes #1350 2019-04-11 12:57:41 +01:00
baldurk 300fe403c2 Add some high-level overview comments to pixel history implementation 2019-04-10 16:04:25 +01:00
Matias N. Goldberg bea9385bb4 Choose the default qmake as specified by Kits in QtCreator
When QtCreator is used to build a CMake script, it defaults to storing
the qmake to use in the variable "QT_QMAKE_EXECUTABLE"
(this is tweakable in Tools->Options->Kits->CMake generator)

We detect if QT_QMAKE_EXECUTABLE is already defined and if so, use that
setting. Otherwise use the previous default (which is "qmake")

Why this change? A user may have several Qt versions installed, and
QtCreator supports managing between them via the IDE.

Without this change the user will change between kits in the IDE but
Renderdoc will still use the default qmake.

This is problematic in Linux systems because the Qt version installed
via the Qt installer is often more up to date than the distro-provided
one
2019-04-10 08:04:12 -07:00
Matias N. Goldberg cc180e383a Add support for Ninja generator
Fixes baldurk/renderdoc#1126
2019-04-10 08:02:53 -07:00
baldurk 76ebef4b50 Improve disassembly & reflection of spec constant op based array sizes 2019-04-09 14:35:30 +01:00
baldurk 2f7d6da73c Fix copy-paste error calling wrong object destruction function 2019-04-09 13:54:50 +01:00
baldurk 345d213d8c Only flush persistent maps in glMemoryBarrier when capturing a frame 2019-04-09 11:43:19 +01:00
baldurk 2ddf3b7adf Auto-fit the WASD camera to the bounding box after switching
* We do the same for the arcball, there's no reason the flycam should default to
  the origin for vertex inputs
2019-04-09 11:09:22 +01:00
baldurk f167ac0daf Be extra clear that 64-bit builds can capture 32-bit programs on windows 2019-04-09 11:09:21 +01:00
baldurk a5c55c3239 Clarify links to nightly builds a little 2019-04-09 11:09:21 +01:00
baldurk ee76ed7a4c Sanitise []s out of vertex attribute names when opening buffer viewer 2019-04-05 17:16:16 +01:00
baldurk eba59ecd39 Enable XFB physical device features if we enable the extension 2019-04-05 16:22:28 +01:00
baldurk 5b10d2f794 When recreating pipelines, don't make them derivatives 2019-04-05 14:23:01 +01:00
baldurk 13c9718858 Preserve expansion when changing events in vulkan pipeline state view 2019-04-05 13:25:28 +01:00
baldurk 4311b35038 Tidy up RDTreeView expansion handling 2019-04-05 13:22:33 +01:00
baldurk 77269327ef Add EXT_descriptor_indexing test
* This is a simple test using descriptor indexing in fragment and compute
  shaders, with sampled images and storage buffers, including passing bindless
  arrays through functions to be sure that's tracked properly.
* There's also a define to turn on a reasonably bad case (though not
  worst/extreme) of # of descriptors - roughly 5 million descriptors allocated
  in total, with roughly 1 million bound at draw time.
2019-04-05 09:19:23 +01:00
baldurk 636b27549d Enable support for EXT_descriptor_indexing. Closes #1111 2019-04-05 09:19:22 +01:00
baldurk f256218e17 Pass bindless feedback data to UI through vulkan pipeline state
* Each binding element within an arrayed descriptor has a bool indicating if
  it's dynamically used or not (which will be set to true if the feedback isn't
  available). Each descriptor has a uint32_t indicating how many elements are
  dynamically used - which is useful for the UI to hide the root of an array
  that has no used elements, or to heuristically decide whether to expand or
  elide the contents.
2019-04-05 09:19:22 +01:00
baldurk 7f56704a92 Feedback dynamic shader access to arrayed descriptors
* We use VK_EXT_buffer_device_address where possible to reduce code complexity &
  increase compatibility, but when not available we reserve a buffer within the
  existing bindings.
* Only array descriptors have the feedback run. Non-array descriptors can still
  be dynamically used/unused but it's expected that there is less pressure to
  trim the list as this would only account for flow control and there is value
  in showing bindings that may be dynamically unused. For arrays the size might
  potentially be extremely large (with 'bindless' type arrays) so reducing it
  only to the set of used items is important.
2019-04-05 09:19:22 +01:00
baldurk 9e4a64e1eb Add locking around access to descriptor set references
* With VK_EXT_descriptor_indexing descriptor sets can be updated while a
  submission is going on, leading to potentially parallel access to the
  references.
2019-04-05 09:19:22 +01:00
baldurk 4ff4a7910e Defer processing dirtied objects in descriptor binds until submit time
* With VK_EXT_descriptor_indexing, the contents of descriptor sets at bind times
  are (conservatively) meaningless as they may be updated/changed right up until
  submit time with the right feature flags enabled. So instead of marking
  resources conservatively dirty at bind time, we do it at submit time. It's
  invalid for an application to except multiple versions of a descriptor set to
  get applied, so sampling once at submit time is sufficient.
2019-04-05 09:19:22 +01:00
baldurk 2c583b66f6 Add initial VK_EXT_buffer_address capture/replay implementation
* The extension is not yet whitelisted as there is no solution currently for
  feedback on used bindings or handling of pointers in data structures within
  the UI or shader reflection.
2019-04-05 09:19:22 +01:00
baldurk 32179d683d Fix idOffsets values when adding OpNops for empty SPIR-V sections 2019-04-05 09:19:22 +01:00
baldurk 046cbf9a42 Disable WGL hooks completely when EGL is hooked. Closes #1336 2019-04-04 18:35:30 +01:00