Commit Graph

16138 Commits

Author SHA1 Message Date
baldurk 2cb07273cb Add support for VK_KHR_maintenance8 2025-08-25 11:36:01 +01:00
baldurk e1f3582774 Add support for VK_KHR_maintenance7 2025-08-25 11:36:01 +01:00
baldurk a05fd08a1c Add support for VK_KHR_maintenance6. Closes #3602 2025-08-25 11:36:01 +01:00
baldurk f0cc6a059a Add support for VK_KHR_present_id/wait2 2025-08-25 10:19:31 +01:00
baldurk f1672e976b Add support for VK_EXT/KHR_present_mode_fifo_latest_ready 2025-08-25 10:19:31 +01:00
baldurk 0b17720e3b Add support for VK_KHR_unified_image_layouts 2025-08-25 10:19:31 +01:00
baldurk 0e260dc490 Add support for VK_KHR_shader_bfloat16 2025-08-25 10:19:31 +01:00
baldurk e809db8a40 Add support for VK_KHR_map_memory2 2025-08-25 10:19:31 +01:00
Lizzie 5dcc1b147f fix for openbsd 2025-08-22 19:12:12 +09:00
baldurk ffa70fabdc Auto-break on NonSemantic.DebugBreak instructions
* This is almost completely worthless as it seems at least NV and amdvlk both
  actually crash the GPU on this instruction, meaning there's no way to get it
  to the shader debugger. But on other drivers like radv, or maybe if this is
  fixed in future, this will be useful.
* For this reason it also can't be tested automatically.
2025-08-21 16:09:40 +01:00
baldurk e5158d74ae Add missing serialise instantiations for inline uniform block 2025-08-21 14:13:48 +01:00
baldurk a72262c07e Fill out textureType in vulkan descriptors 2025-08-21 13:07:04 +01:00
baldurk 52c1cae925 Follow symlinks when iterating extension folders on linux 2025-08-20 10:24:44 +01:00
baldurk 29b4c1f85f Filter auto-generated barriers (if state is unknown) to CB type
* This prevents us from adding non-compute states such as PIXEL_SHADER_RESOURCE
  from the CPU last-known state when transitioning resources before an indirect
  patch on a command buffer.
2025-08-19 17:00:41 +01:00
baldurk 0423ca4870 Ensure when using action callbacks that sub-EIs are selected correctly 2025-08-19 16:05:42 +01:00
baldurk 99202434f4 Add flag python annotation to structured data flags 2025-08-19 16:05:42 +01:00
baldurk 661b27c4cc Use SRV not CBV to read execute count buffer
* The count buffer may not be aligned enough for a CBV
2025-08-19 16:05:42 +01:00
baldurk 196669a148 Fix potential crashes if MaxCommandCount == 0 in ExecuteIndirect 2025-08-19 16:05:42 +01:00
Hans-Kristian Arntzen 814d764df7 Fix exporting large raw buffers at an offset. 2025-08-20 00:05:29 +09:00
Jake Turner 87a3a56c8f Clamp Vulkan Mesh Rendering index buffer offset to be in bounds 2025-08-19 07:29:17 +01:00
baldurk fa0ba4a532 Don't disable blending for fetching per-fragment postmod 2025-08-18 13:28:11 +01:00
Cam Mannett 3b80d8ed15 Disable VK_EXT_fragment_density_map2 if no non-sampled image support
VK_EXT_fragment_density_map2 and VK_QCOM_fragment_density_map_offset depend on VK_EXT_fragment_density_map, so if RD disables it due to lack of VkPhysicalDeviceFragmentDensityMapFeaturesEXT::fragmentDensityMapNonSubsampledImages support (common on Mali) it needs to disable the others as well.
2025-08-18 18:15:54 +09:00
Cam Mannett c62ebeae69 Use correct SpecID when descriptor array size <64
Fixes #3643
2025-08-16 05:56:16 +09:00
baldurk fd61a60a42 Fix error with structured object iteration 2025-08-15 13:44:56 +01:00
baldurk ec01df4fd4 Fix errors with pre-declaring swig wrappers 2025-08-15 13:42:46 +01:00
baldurk a4817fef76 Add type annotations for some structure members
* These annotations are necessary for good autocomplete on the python side so it
  knows the types.
2025-08-15 12:56:26 +01:00
baldurk fb2c09a4d9 Fix crash if APIInspector::RevealParameter is called for hidden object
* There's nothing to expand for hidden objects so make sure we don't crash or
  expand the wrong item.
2025-08-15 12:56:26 +01:00
baldurk bd193696b8 Prevent infinite recursion if python class doesn't override all methods
* We shouldn't require 'pure virtual' functions in CaptureViewer implementations
  in python, so detect when the derived class methods point to the base class
  pass-throughs, and skip them in that case.
2025-08-15 12:56:26 +01:00
Jake Turner d45908bcbd Fix D3D12 Compute Shader workgroup debugging add missing CopyInputs() 2025-08-14 10:54:18 +01:00
Kanglai Qian cab10bcefe fix readCompSize with depth format 2025-08-13 19:03:48 +09:00
baldurk 9eb8f60ed4 Only keep old workgroup for pixel shaders where derivatives are needed
* On DXBC there are no other instructions that need cross-thread information.
2025-08-11 10:05:39 +01:00
Shahbaz Youssefi a6e4391ca9 Support VK_EXT_host_image_copy
Fixes #3516
2025-08-09 01:01:05 +09:00
baldurk e08bd3c930 Remove remapping during capture. Closes #3665 2025-08-07 22:06:41 +01:00
baldurk adf8acbccd add pcre build step if it's not found locally
* Unfortunately the new upcoming debian has made the really poor decision to
  actively *delete* the pcre package, breaking any programs depending on it even
  at build time. As far as I can see it's still available in most other common
  distributions.
* Users could easily build it themselves but would have to install it system
  wide for it to be picked up. This kind of dependency absolutely should not be
  something the build system has to set up itself but when distributions make
  poor choices we have little choice but to adapt somehow.
2025-08-07 15:56:08 +01:00
baldurk 08f69e0f0f Ensure swapchain image resource info is set up properly
* Without this, image views created off the swapchain images would destroy the
  actual underlying resource info when the view is destroyed, thinking that it
  has its own unique copy.
2025-08-07 14:08:19 +01:00
baldurk f21952ea81 Update vulkan headers to 1.4.324
* Include straightforward promotion of VK_KHR_surface_maintenance1 and
  VK_KHR_swapchain_maintenance1.
2025-08-07 11:11:50 +01:00
baldurk 6eafb75281 Switch back to powershell command that used to fail but now works?!?
* Also include lots of other random commands that either don't work, or used to
  work and don't now.
2025-08-07 10:00:24 +01:00
baldurk 6de786d243 Fix a crash when patching ray dispatches after device lost 2025-08-06 13:14:47 +01:00
Jake Turner 78b16112db Add missing breaks to _glCopyImageSubData switch(fmt)
Discovered by compile errors
2025-08-04 16:51:59 +01:00
Jake Turner d281b58230 Spirv Editor ensure types have a basic ordering of declaration
Scalars
Vectors
Everything else
2025-08-04 16:51:59 +01:00
Jake Turner d18fe8e124 Spirv Editor add InsertOperation(op, offset) helper
void InsertOperation(const Operation &op, size_t offset);

Ensures Operation's are added correctly and RegisterOp() is called after addWords()
This make sure the idOffsets data is correct
2025-08-04 16:51:59 +01:00
baldurk 282074f9a4 Try to avoid crash after fatal device error 2025-08-04 10:35:12 +01:00
baldurk 29a1590149 Fix description of enum 2025-08-04 10:33:40 +01:00
baldurk dbeeb67459 Display a specific message for resources with no usage tracked
* Currently we only track usage for buffers and textures.
2025-07-31 17:10:14 +01:00
baldurk 9bfcb76e0b Try to de-elevate after applying an update to not run UI as admin 2025-07-31 17:10:14 +01:00
baldurk e6a7b36cdc Add the ability to cancel an update while it's downloading. Closes #3162 2025-07-31 17:10:14 +01:00
Jake Turner 1ac6963d31 D3D12 ShaderFeedback fix GPU hang when analysing ExecuteIndrect
Need to recreate the EI command signature using the same root signature that is is bound i.e. the modified root signature which includes the resources for the shader feedback analysis

This only needs to be done if the EI command signature modifies the root arguments i.e. setting root constants, updating bindings
2025-07-31 10:28:40 +01:00
Jake Turner 558022bc02 D3D12 ExecuteIndirect allow callbacks to change the commandSignature
This allows callbacks to recreate the command signature to match the root signature (which might have been modified) i.e. shader feedback
2025-07-31 10:28:40 +01:00
Jake Turner d4fd3c16f8 D3D12 ExecuteIndirect constants changes are cumulative
Set the specific constant data from the EI args instead of replacing all the constant data with the EI arg data i.e. EI arg sets Constants 2,3 : should leave Constants 0, 1, 4, 5 with the values set directly i.e. SetGraphicsRoot32BitConstants()
2025-07-31 10:28:40 +01:00
Jake Turner a8ee82bfe8 Extend D3D12_EXECUTE_INDIRECT test for partial update of root constants
Change colour of triangle based on root constant values set by direct API not by indirect API.
This allows verification that RenderDoc replay of indirect root constants does not alter values set by the direct API
2025-07-31 08:07:19 +01:00