Commit Graph

16743 Commits

Author SHA1 Message Date
Jake Turner 305d65432e Apply cmake 4.0 version tests to demos project
Copied over from main RenderDoc CMakeLists.txt
2026-02-09 20:06:59 +00:00
baldurk a1473c5f84 Improve docstring checking when a class can't be instantiated
* Also print warnings for the classes that aren't being checked
2026-02-09 18:05:35 +00:00
baldurk 49e5fa40a8 Fix docstring in SDObject 2026-02-09 18:01:04 +00:00
Jake Turner cd62b87fd1 Fix DXIL Debug Source debugging not activating in specific case
If the debug source information comes from the DXBC chunk then the source filename won't have had its path separator standarised and the filename matching won't work
2026-02-06 13:05:17 +13:00
Jake Turner ba60ac46d0 UI to ask if want to reload all shader debug information in the capture
Triggered after closing the Shader debug search paths dialog
2026-02-06 11:59:17 +13:00
Jake Turner cbecdfacb0 Add new replay API void ReloadShaderDebugInformation() 2026-02-06 11:36:38 +13:00
Jake Turner c097a8b024 Add D3D12 driver support for ReloadShaderDebugInformation() 2026-02-06 11:25:15 +13:00
Jake Turner 88c8de7841 Add D3D11 driver support for ReloadShaderDebugInformation() 2026-02-06 11:24:40 +13:00
Jake Turner 51cff2e71b Add Vulkan driver support for ReloadShaderDebugInformation() 2026-02-06 11:24:40 +13:00
Jake Turner beba5213ff Add m_InitialShaderBlob to DXBCContainer
Only set when separate debug data is found and replaces the original bytecode
2026-02-06 11:24:40 +13:00
Jake Turner 0773f48ce1 Small tweak to docstring for debugInfoLoadingLog 2026-02-06 11:24:39 +13:00
Jake Turner 82cdd8047c Add a UI panel to ShaderViewer to show the shader debug loading log
A button toggles the logging panel open/closed
2026-02-06 10:39:11 +13:00
Jake Turner 47340b2f0d Add shader debug loading logging for SPIRV shaders 2026-02-06 10:39:11 +13:00
Jake Turner 8d2fbbfadf Add shader debug loading logging for shaders in DXBC containers 2026-02-06 10:39:11 +13:00
Jake Turner 5135ef6f75 Add rdcstr debugInfoLoadingLog to ShaderDebugInfo 2026-02-06 10:02:19 +13:00
Jake Turner e68e9ed8dd Don't return true from GetTrackedFileData() if no data has been loaded
The file might be being tracked but wasn't loaded from the embedded files in the capture i.e. it hasn't been physically embedded yet.
2026-02-06 09:56:33 +13:00
baldurk 9805abc1c3 Don't patch tiling features when enumerating array size 2026-02-05 16:41:18 +00:00
Jake Turner 9dffdf9b6a Remove unimplemented void TryReplaceOriginalByteCode(); 2026-02-05 13:50:30 +13:00
baldurk 7a97c65122 Fix "duplicated" docstring 2026-02-04 23:18:04 +00:00
baldurk 1f29df7bfb Add test for D3D12 predication 2026-02-04 22:33:57 +00:00
baldurk fcf298cff9 Implement support for predication on D3D12. Closes #2095 2026-02-04 22:33:57 +00:00
baldurk 1586f3ce57 Rename list-submission callbacks to not be AS-specific 2026-02-04 22:33:57 +00:00
Jake Turner 716282da48 Add required builtin inputs to the PostVS Task/Mesh entry points
If the SPIRV module contains multiple entry points then checking for the existance of the builtin variable is not enough to guarantee it is in the entry point inputs
2026-02-04 13:32:25 +13:00
Jake Turner 518a446b26 Add Id GetBuiltInVariable(BuiltIn builtin) to spirv editor 2026-02-04 13:32:24 +13:00
Jake Turner e86fbc17a3 Layout Vulkan Mesh/Task Shader payload structs in scalar manner
Fixes payload containing structs or struct arrays which are not the first member
2026-02-04 13:25:18 +13:00
Jake Turner 2c389720ec Fix CalculateScalarLayout when payload contains a struct array 2026-02-04 13:25:18 +13:00
Jake Turner 1bd80b13cc Extend VK_Mesh_Shader tests for struct arrays, struct in a payload 2026-02-04 13:25:18 +13:00
baldurk 84721b6c0e Add support for VK_EXT_image_drm_format_modifier. Closes #1194 2026-02-03 16:50:05 +00:00
Max 95fd419d66 Fix memory leak during vertex picking in mesh viewer
Deallocate temporary memory for vertex indices,
referenced by raw pointer
2026-02-03 20:49:04 +09:00
baldurk 1a3a79da09 Add capture-time detection of fatal errors to D3D12 and abort capture
* Capturing when a device lost (or OOM) is hit can produce a corrupted capture
  that crashes on load, mirror vulkan's detection of these cases and bail out.
2026-02-02 14:57:02 +00:00
baldurk fcc2c3c304 Check for invalid dispatches (usually indirect) in D3D12 mesh viewer 2026-02-02 12:00:24 +00:00
baldurk 6a791de9bd Fix incorrect version check 2026-01-31 20:41:13 +00:00
Chia-I Wu 1c2cf527da Do not set banDedicated for android AHB on panvk
The spec says

  Android hardware buffers have intrinsic width, height, format, and
  usage properties, so Vulkan images bound to memory imported from an
  Android hardware buffer must use dedicated allocations:
  VkMemoryDedicatedRequirements::requiresDedicatedAllocation must be
  VK_TRUE for images created with
  VkExternalMemoryImageCreateInfo::handleTypes that includes
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID.

Stripping VkMemoryDedicatedAllocateInfo causes segfaults on Mesa panvk
driver at least.
2026-02-01 03:15:38 +09:00
Chia-I Wu 8552eec7a1 Fix android compile errors on NDK 27+
ALooper_pollAll was obsoleted since NDK 27 and resulted in

  renderdoccmd_android.cpp:526:8: error: 'ALooper_pollAll' is
  unavailable: obsoleted in Android 1 - ALooper_pollAll may ignore
  wakes. Use ALooper_pollOnce instead. See The API documentation for
  more information

Since we poll from within a loop, we can replace it by ALooper_pollOnce
directly. But to be on the safe side, do this only on NDK 27+.
2026-02-01 03:15:38 +09:00
Chia-I Wu 4f0e117359 Fix android compile errors on JDK 20+
Java 7 support was dropped since JDK 20. We should be able to target
Java 8 without compatibility concerns because we run the bytecode
through dex which desugars (or fails at build time which does not
happen). But to be on the safe side, print a warning.
2026-02-01 03:15:38 +09:00
Chia-I Wu 2b88b2c3ae Silence compile errors with clang 19.0.0git
-Wcast-function-type-mismatch was added in clang 19.1. Change the
version check to "VERSION_GREATER 19.0.999" instead.

Add -Wno-vla-cxx-extension for ihv/arm to silence

  gator_api.cpp:312:15: error: variable length arrays in C++ are a
  Clang extension [-Werror,-Wvla-cxx-extension]
2026-02-01 03:15:38 +09:00
baldurk bd78fcc473 Update multiview test to check shader exported viewport
* This also has code to support the qcom implicit viewport, but we disable that
  path by default since it would break all the single-viewport tests.
2026-01-30 18:11:41 +00:00
baldurk a5d5e4d7fe Check for multiview geometry feature
* This means the triangle size overlay will not be available.
2026-01-30 18:01:50 +00:00
baldurk c991d66b83 Add support for VK_QCOM_multiview_per_view_render_areas. Closes #3269
* When a shader doesn't export ViewportIndex, we treat it the same as our
  assumption that a 1:1 set of viewports will be selected by the shader.
2026-01-30 18:01:49 +00:00
baldurk cffb9fd380 Assume 1:1 mapping if one viewport is bound per multiview view
* This is not necessarily guaranteed as the viewport is selected by a shader
  export, but this is a very sane default and showing viewport 0 for all views
  is much more likely to be wrong.
2026-01-30 15:59:20 +00:00
baldurk 0751b56668 Render each view individually for triangle size overlay
* We use the RP which naturally broadcasts to views and discard in the pixel
  shader
2026-01-30 15:59:20 +00:00
baldurk 6a915b67ba Don't use pre-created pipeline for viewport/scissor overlay rendering
* This allows us to use the per-overlay renderpass which includes multiview
  properties.
2026-01-30 15:59:20 +00:00
baldurk fe7462330f Fix warning on clang for vulkan helper function 2026-01-30 15:56:14 +00:00
baldurk db74623ed5 Change array to plain member
* Some clang versions seem to complain about the storage for this being missing
  even if it's constexpr, since it's not important we make it a plain member.
2026-01-30 15:55:44 +00:00
baldurk 490935242d Explicit cast for annoying linux compilers where ULL/LL isn't int64 2026-01-30 15:54:51 +00:00
baldurk a9c590b8a2 Remove accidental commit 2026-01-30 15:54:35 +00:00
baldurk a139a9faec Fix $annot() filter not properly parsing expressions 2026-01-29 17:14:51 +00:00
Jake Turner a72067cca5 AsyncInvoke operations related to embedded dependencies 2026-01-29 11:05:10 +13:00
Jake Turner 3da3c24f34 AsyncInvoke check for AMDRGPProfile Section in OnCaptureLoaded 2026-01-29 11:05:10 +13:00
Jake Turner 1b47b019b2 Fix Vulkan Mesh/Task Shader payload structs containing struct arrays 2026-01-29 09:26:17 +13:00