Commit Graph

8812 Commits

Author SHA1 Message Date
baldurk 043fcda299 Fix check for external glslc 2019-04-04 15:50:34 +01:00
baldurk 3cc2c37149 Don't crash on linux if getenv() returns NULL for unknown variable 2019-04-04 15:50:34 +01:00
baldurk d351ac9ea4 Update to 1.1.105 vulkan headers 2019-04-04 15:50:24 +01:00
baldurk fb826ee724 Fix the set of queues made available to initial state CONCURRENT buffers
* We don't want to enable all queues on the physical device because not all of
  them are necessarily enabled in the device itself.
2019-04-04 13:11:18 +01:00
baldurk ff5f946e1e Don't transition images to UNDEFINED if that's their initial known state 2019-04-04 13:10:29 +01:00
baldurk f742344c95 Serialise basePipelineIndex properly instead of as empty
* Setting it to empty is invalid for derived pipelines - since we don't want the
  index to be 0 we want to use basePipelineHandle. We patched it to -1 before
  serialising so the value is safe.
2019-04-04 12:31:35 +01:00
baldurk d44a00c898 When replaying specific GL extension functions, check availability
* In theory we should check everywhere on every function otherwise we crash with
  a NULL pointer, but figuring out which functions to check is non-trivial in
  some cases and there's the risk of false positives with fallbacks available
  etc in cases where there are several possible alternatives for a given
  function.
* These checks have been sprinkled around in places where it's safe because
  there's only one implementation of a function that never made it to core, as
  well as the most common problems - glFramebufferTexture2DMultisampleEXT and
  glFramebufferTextureMultiviewOVR/glFramebufferTextureMultisampleMultiviewOVR
  which comes from users mistakenly replaying a mobile capture on desktop. This
  is not expected to work but it shouldn't crash.
2019-04-04 11:49:30 +01:00
baldurk c7ea78022c Identify ARM64 as ARM correctly in machine ident 2019-04-04 11:34:49 +01:00
baldurk 3b4f283719 Fix & clamp array/sample indexing for MSAA array texture display 2019-04-03 16:42:41 +01:00
baldurk 4319c5c2ab Calculate the slice properly for viewing MSAA textures as buffers 2019-04-03 16:42:41 +01:00
baldurk a031359288 Fix image view types for MSAA array support 2019-04-03 16:42:41 +01:00
baldurk cb47684766 Create and bind a dummy fragment shader for xfb on GLES
* On GLES it's illegal to have just a vertex shader in a program, unless that
  program is separable
2019-04-03 16:42:41 +01:00
Aliya Pazylbekova fe5c48ff35 Update version of VK_EXT_debug_marker in manifest 2019-04-01 13:19:14 -07:00
baldurk 7ac31e5ca7 Workaround ARM driver bug with core promoted function. Closes #1322
* glRenderbufferStorageMultisample and glRenderbufferStorageMultisampleEXT
  should be interchangeable, with the only difference being the EXT version
  specifies that tile resolves may happen and MSAA data won't be preserved.
* When aliasing the functions RenderDoc will call the core version if available
  even if the application called into the EXT, assuming them to be
  interchangeable (and in this case the core function is a superset of
  functionality). Unfortunately on ARM's driver attachments of different types
  are not handled properly and FBOs can fail to create.
* The only available workaround for this is to copy-paste the function
  implementation and keep them separate, and assume that the application does
  the right thing and ends up with compatible attachments. The app could easily
  break in the same way, but at least then RenderDoc is not forcing a bug to be
  hit.
2019-04-01 15:45:24 +01:00
baldurk edc99c4c4a Update object-to-ResourceId patching for new debug message format 2019-04-01 15:23:27 +01:00
baldurk 4c3a68d866 Add a couple of setName overloads in VulkanGraphicsTest 2019-04-01 15:23:27 +01:00
baldurk 1cada82d2f Use VK_EXT_debug_utils in testbed program 2019-04-01 15:23:27 +01:00
baldurk fa06d29077 Strip VK_LAYER_KHRONOS_validation 2019-04-01 14:26:04 +01:00
baldurk ff354e57e6 Add handling for EXT_debug_utils for gathering debug messages
* Where possible we use it as we expect potentially better message formatting &
  more info we can use in future
2019-04-01 14:25:49 +01:00
baldurk afb7fa3771 Add handling for MSAA Array textures on GL/GLSL shaders. Closes #1333 2019-04-01 14:21:52 +01:00
baldurk 4bdc07a770 Don't create MSArrayCopyVS on its own as we don't need it without PS
* It will fail to create on FEATURE_LEVEL_9 devices
2019-03-29 18:13:12 +00:00
baldurk fc8203ed6c Make D3D11 overlay rendering FL9 compatible. Closes #1332 2019-03-29 17:48:15 +00:00
baldurk 6e3c4aaf49 Don't use m_pReal2 for IDXGISwapChain1 functions 2019-03-29 17:48:15 +00:00
baldurk bd615a04da Update SPIR-V stringise for latest SPIR-V headers 2019-03-29 17:48:15 +00:00
baldurk 7cef20fde5 Add missing demo project tests to CMakeLists.txt 2019-03-29 17:48:15 +00:00
baldurk 3d2fa8cd3e Optimise RichResourceText to special-case for single ResourceId text
* Most cases don't have other text together with a ResourceId, so handle an
  isolated ResourceId specially and manually render it.
* Further work - we could cache the name the same way as the RichResourceText
  does. So far it doesn't seem to appear on profiling.
2019-03-29 17:48:15 +00:00
baldurk a44b85bd76 Don't use StringFormat::Fmt for ResourceId stringise
* This is high-frequency enough that it's worth doing an in-place int-to-string
  conversion.
2019-03-29 17:48:15 +00:00
baldurk ad6c050604 Handle displayAsHex in constant buffer preview formatter 2019-03-27 19:34:26 +00:00
baldurk be998744b3 Switch android device to root as early as possible
* Running 'adb root' will cause the device to disconnect, so doing it late when
  we're selecting an app to debug and want to see if we have debug access means
  we'll kill our server connection the first time. Instead doing it at enumerate
  time means the device will already be in root mode.
2019-03-27 18:22:37 +00:00
baldurk d519f086e1 Don't fetch resource format name for empty bindings 2019-03-27 17:59:16 +00:00
baldurk 13d35645be When clearing RDTreeWidgetItem don't remove children one-by-one 2019-03-27 17:57:56 +00:00
baldurk 9b15368c37 Remove unused code 2019-03-27 17:57:44 +00:00
baldurk 34ceecdfc3 Fix postvs descriptor validation checking for arrays with empty elements 2019-03-27 17:57:10 +00:00
baldurk f7268a12cf Don't add resource usage for unbound resources 2019-03-27 17:56:51 +00:00
baldurk 846f09d3a7 Update toolwindowmanager to 213314d7f72c76421970427369e338d271cce279 2019-03-27 11:32:53 +00:00
Wade Brainerd aed614a6aa Improve Vulkan byte range descriptions
Renames the "cont.d" column in the Pipeline State window to
"Additional". This is a less confusing title then the contraction.

Adds a "(VK_WHOLE_SIZE)" annotation after the range if VK_WHOLE_SIZE
was used, and an "(empty view)" annotation if the range is empty.
These annotations are intended to help diagnose incorrectly filled
buffer descriptors.
2019-03-27 04:32:29 -07:00
Wade Brainerd cc0069e72f Fix Vulkan mesh output for tessellated quads
When selecting a draw with a tessellation evaluation shader using
layout(quads), RenderDoc would emit an "Unexpected output topology"
error.

Additional changes:

* Fixes a typo in the VK_EXT_transform_feedback name in various debug
  prints.

* Renames the "GS Out" 3D View tab in the Mesh Viewer to "GS/DS Out",
  to match the corresponding table. This affects all APIs.
2019-03-27 04:31:34 -07:00
baldurk 6f07cc3ac4 Unwrap resource list passed to ID3D11VideoContext2::DecoderExtension 2019-03-26 18:54:48 +00:00
baldurk d4c71e5b62 Mark images as dirtied when appropriate in buffer-image copies 2019-03-26 17:20:32 +00:00
baldurk 87b28fe34c Fix fetching of input attribute bindings for matrix inputs 2019-03-26 17:20:32 +00:00
baldurk 6e3ebcb483 Just skip GL function calls if we don't have function pointers
* This is completely invalid but better than crashing. This can happen as a
  race-condition if the user injects into a running program that's already using
  GL on one thread, before we've completed installing our hooks.
2019-03-26 17:20:32 +00:00
baldurk 39cfdf5ad7 Handle out of memory errors when fetching mesh outputs on Vulkan 2019-03-26 17:20:32 +00:00
baldurk 02739553b2 Make the list of memory types clearer when printing incompatible error 2019-03-26 17:20:32 +00:00
baldurk 8762bc4186 When an alias hook is fetched, return precisely the alias entry point
* This doesn't change much except for setting gl_CurChunk more accurately for
  alias functions.
2019-03-26 17:20:32 +00:00
baldurk 8a5b95319b Avoid spamming renderdoc internal logcat marker 2019-03-26 17:20:32 +00:00
Aliya Pazylbekova 6502083556 Change present info pNext RDC warn and assert
- Add VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP as a pNext to
ignore for VkPresentInfoKHR
- Remove RDCASSERT for pPresentInfo->pNext to be null, since it
can be not null, and there is a loop above the assert that checks
the pNext term.
2019-03-26 10:20:15 -07:00
baldurk c609a6611c Update toolwindowmanager to d4efe1b6df06618b0bef0d824aba93e8cb8cc197 2019-03-25 18:29:18 +00:00
baldurk fed3d0d710 Fix wrong flag set for reflecting UAV resources 2019-03-25 17:48:52 +00:00
baldurk d677b594b1 Fix D3D11_Binding_Hazards test 2019-03-25 17:48:44 +00:00
baldurk 7b71c7fb3d Don't return 0-byte BlockShape for error case
* This can lead to divide-by-zero errors, instead return 1x1 1 byte block as a
  relatively sane default.
2019-03-25 16:54:12 +00:00