Commit Graph

16753 Commits

Author SHA1 Message Date
baldurk 5ce2e4ae6d Fix CI badge in README 2026-02-13 13:06:19 +00:00
Jake Turner 8f82b17705 Fix Spirv Debugger Op::ImageRead of an MSAA subpass texture
The MSAA sample index was not being applied
2026-02-13 07:40:50 +00:00
baldurk 72e5a89778 Fix backwards check for value of BaseVertex SPIR-V builtin 2026-02-11 13:30:22 +00:00
baldurk c14a4807ba Fix crash when postvs cache is cleared if old buffers are referenced 2026-02-11 13:30:21 +00:00
baldurk deb0a4935c Fix incorrect type reference in SDObjectPODData 2026-02-11 13:30:21 +00:00
Jake Turner af1e922dba Clear the replay proxy shader reflection cache in ReloadShaderDebugInfo 2026-02-10 11:05:14 +00:00
Jake Turner 0cf4706333 Only prompt to reload shader debug infomation for local replays 2026-02-10 11:03:38 +00:00
Jake Turner a1b8ed58db Default Demos Apple uses "VK_EXT_metal_surface"
Instead of "VK_MVK_macos_surface"
2026-02-09 20:06:59 +00:00
Jake Turner 56de707492 Demos support for "VK_EXT_metal_surface" on Apple 2026-02-09 20:06:59 +00:00
Jake Turner 9b457ed91d Add void *layer to Demos AppleWindow
layer is required for "VK_EXT_metal_surface"
2026-02-09 20:06:59 +00:00
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