Commit Graph

16726 Commits

Author SHA1 Message Date
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
Jake Turner 0bec9e0a0c Add struct array to VK_Mesh_Shader task out 2026-01-29 09:16:48 +13:00
baldurk 7fc2ca7d7b Add empty interface implementation to metal 2026-01-28 15:34:09 +00:00
baldurk 7bc917af81 Add explicit instantiation of SDObject serialiser 2026-01-28 15:10:38 +00:00
baldurk 2d1c7653f5 Add an analytic flag for use of custom annotations API 2026-01-28 14:42:11 +00:00
baldurk 565fe17ba2 Add API and usage documentation for custom annotations system 2026-01-28 14:42:11 +00:00
baldurk 965d1c9568 Add demo tests for annotations 2026-01-28 14:42:11 +00:00
baldurk 352b88b344 Allow double clicking on resource annotations 2026-01-28 14:42:11 +00:00
baldurk 58eb49ce5b Expand RDTreeWidget to allow per-item go column
* This lets us use the existing logic for hovering columns, to get things like
  the hand cursor, while still only showing it for resource entries.
2026-01-28 14:42:11 +00:00
baldurk 2dd3df5aa1 Resize annotation key column to fit contents
* All other space is used by the value
2026-01-28 14:42:11 +00:00
baldurk 73f441f6c3 Ensure annotations are displayed for default event on capture load 2026-01-28 14:42:11 +00:00
baldurk 070177c232 Use natural sort to sort children in annotations 2026-01-28 14:42:11 +00:00
baldurk 3454404a55 Clear current annotation in resource inspector on capture close 2026-01-28 14:42:10 +00:00
baldurk 6c0d1ed057 Fix regenerate stubs script not having proper path separators 2026-01-28 14:42:10 +00:00
baldurk 0e338ac867 Update app API header in demos project
* Also query for the latest API, this is effectively an internal user we can
  assume we're running against the latest version of our own API.
2026-01-28 14:42:10 +00:00
Remi Palandri 772e697fed Allows more than 3 lines per annotation to be shown 2026-01-28 14:42:10 +00:00
Remi Palandri aaf19a128c add metadata support to annotationviewer for buffers 2026-01-28 14:42:10 +00:00
Remi Palandri ec24a6ca4b read __rd_format as default format if none other are available 2026-01-28 14:42:10 +00:00