Commit Graph
17082 Commits
Author SHA1 Message Date
baldurk c6c8f807c9 Update VK_Image_Layouts test to check preinitialised data also 2026-07-24 17:52:48 +01:00
baldurk 57702b7896 Properly save initial contents of preinitialised images on vulkan
* If we encounter a preinitialised image on vulkan we need to snapshot its
  contents on replay because we can't on capture due to the inability to
  transition its layout for copy. By definition the underlying memory can be
  used, so we just need to ensure it is properly marked dirty and referenced
2026-07-24 17:52:48 +01:00
baldurk b72cb9db30 Use proper ID when erasing image states
* This also reveals a separate bug, that image states being deleted from a mid-
  capture destruction of an image loses information we need, so defer these
  cleanups until after the capture ends.
2026-07-24 17:52:48 +01:00
baldurk ccc110c57e Fix some validation errors in tests 2026-07-24 17:52:48 +01:00
baldurk fff1cc4b0e Add support for VK_EXT_present_timing
* As with other WSI extensions this is only passed through on capture, not
  replayed.
2026-07-24 17:52:48 +01:00
baldurk 3d2329da89 Allow VK_EXT_layer_settings during capture for configuring VVL 2026-07-24 17:52:48 +01:00
baldurk 0c682d5a48 Add support for VK_EXT_shader_tile_image 2026-07-24 17:52:48 +01:00
baldurk 8251a21f89 Add support for VK_EXT_shader_64bit_indexing 2026-07-24 17:52:47 +01:00
baldurk 133365922c Add support for VK_EXT_shader_split_barrier 2026-07-24 17:52:47 +01:00
baldurk 33bce53bd8 Add support for VK_EXT_shader_subgroup_partitioned 2026-07-24 17:52:47 +01:00
baldurk d83d6a184b Add support for VK_KHR_shader_fma 2026-07-24 17:52:47 +01:00
baldurk f820816452 Add support for VK_KHR_shader_abort
* This is mostly pass-through as RenderDoc will never interact with it - if the
  abort actually fires the device is gone and we can't capture. We enable it to
  prevent needing to recompile shaders.
2026-07-24 17:52:47 +01:00
baldurk a90c00f77c Add support for VK_EXT_physical_device_drm 2026-07-24 17:52:47 +01:00
Jake Turner dac5a3caa5 VulkanEventNode code/comment tidy up in Indirect action handling 2026-07-23 15:34:29 +01:00
Jake Turner e69f436d7b Do not read baked command list info with ResourceId()
Avoid creating a default entry in the map
2026-07-23 09:06:41 +01:00
Jake Turner 341eb8f6f4 During Loading replace VulkanActionTreeNode with VulkanEventNode
VulkanEventNode contains all data for an Event during loading: APIEvent, ActionDescription, resource usage, debugMessages, annotations.
Action ID, Event ID is not computed whilst loading is happening.

At the end of Loading when the VulkanEventNode's have been flattened into linear submission order then the VulkanEventNode's are baked into RenderDoc replay APIEvents and Actions. Event IDs and Action IDs are assigned as part of the baking process
2026-07-22 15:41:47 +01:00
Jake Turner 40d6d5fd8a Extend VK_Annotations test
- loose event annotation
  - a barrier at end of command buffer
  - at end of command buffer attached to vkEndCommandBuffer
  - command buffer with no actions, just set marker
- annotations before/during/after vkCmdDrawIndirectCount calls
2026-07-22 15:29:08 +01:00
Jake Turner f8c90b0032 Tweak terminal emulator command line for RunProcessAsAdmin
Separate the arguments instead of a single argument
Use a different execute command line parameter for different terminal tools
-e : default
-x : for gnome-terminal
2026-07-22 07:46:21 +01:00
Jake Turner baec8aa171 Fix building pcre on systems with latest automake version
The source bundle was configured using automake 1.16
2026-07-22 07:46:21 +01:00
Jake Turner a2d133c353 Change the DrawMeshIndirect parameters in VK_Resource_Usage 2026-07-22 06:02:26 +01:00
Jake Turner d75b9d2f36 Check indirect action names in a selection of tests
- VK_Indirect
- VK_Mesh_Shader
- VK_Resource_Usage
2026-07-22 05:41:09 +01:00
Jake Turner 4aa00a2bfa Add python helper functions to check indirect action names 2026-07-22 05:41:09 +01:00
baldurk a66becd518 Add missing documentation item 2026-07-21 16:59:52 +01:00
baldurk 9ca6d0ae81 Update custom resolve status 2026-07-21 16:05:07 +01:00
baldurk 40570791a4 Add support for VK_EXT_depth_bias_control 2026-07-21 16:05:07 +01:00
Neil MondayandBaldur Karlsson 1e581d3c90 Add ray tracing invocation reorder extensions
Applications that use these extensions have shaders with new
instructions. The driver should receive the features struct
via a vkCreateDevice pNext chain to enable the feature. This
change simply adds this extension as a supported extension,
and adds the pNext structs to the supported structs.
2026-07-21 21:40:41 +09:00
Jake Turner 4e8e179d32 Add the empty VkQueueSubmit2() during replay when submitCount is zero 2026-07-20 18:16:51 +01:00
baldurk da2ebcbead Properly sync queue before processing submission
* This isn't necessary if only one main queue is in use as FlushQ() syncs our
  main queue, but if the submission is on a separate compute family for example
  we need to sync it before processing any indirect readbacks.
2026-07-20 17:36:10 +01:00
baldurk 7e9b562fe6 Fetch depth resolve image attachments when dynamic rendering 2026-07-20 17:36:09 +01:00
baldurk 98d216e629 Drop invalid descriptor range queries 2026-07-20 17:36:09 +01:00
Jake Turner bf4b34671f Assert IsLoading() in Vulkan AddEvent(), AddAction() 2026-07-20 12:40:34 +01:00
Jake Turner a5164bd9f2 Add the empty VkQueueSubmit() during replay when submitCount is zero
For consistency of replay to the application
2026-07-20 12:34:42 +01:00
Jake Turner 48bb4350bd VK_Parameter_Zoo: add empty vkQueueSubmit before colour draws 2026-07-20 12:32:57 +01:00
baldurk c980ca661e Fix missing calling convention 2026-07-17 18:15:09 +01:00
baldurk a9534bcc69 Use resource class as part of key for caching resource info 2026-07-17 16:50:08 +01:00
baldurk f933241381 Fix queries of byte address buffer lengths 2026-07-17 16:26:14 +01:00
baldurk e21c39b16d Check that SM version can be compiled with our dxc before using it 2026-07-17 16:26:12 +01:00
baldurk d3b1d29969 Add a test for ByteAddressBuffer length queries 2026-07-17 16:14:29 +01:00
baldurk 70c8a2bc74 Add interface checking for ID3D12Device15. Closes #3833 2026-07-17 16:14:29 +01:00
baldurk a7bccc887d Allow up to shader model 6.9 on D3D12 2026-07-17 16:14:29 +01:00
baldurk 96978cae62 Add handling for new DXIL dx.op opcodes 2026-07-17 16:14:29 +01:00
baldurk 630510e360 Implement new query heap functions on D3D12 2026-07-17 16:14:29 +01:00
baldurk 1d32b45ca5 Add TryCreate* variants of D3D12 descriptor write functions
* These are identical to the old versions but with a return value, so we can
  share the implementation and have a common path just with a bool, and discard
  the return value as needed.
* In the new path, only successful writes will be serialised.
2026-07-17 16:14:29 +01:00
baldurk b9a68b51f5 Query and store ID3D12Device15 2026-07-17 16:14:29 +01:00
baldurk 65694c13a9 Handle byte-offset buffer descriptors on D3D12 2026-07-17 16:14:28 +01:00
baldurk 01c543634d Update D3D12 headers to 1.619.4 and implement trivial interfaces 2026-07-17 15:41:34 +01:00
Jake Turner 0407903499 Vulkan Pixel History warn and ignore nested secondaries events
Fixes invalid API usage trying to end a render pass whilst in a secondary command buffer
2026-07-17 12:18:23 +01:00
Jake Turner 2ec946fabf Change vkCmdExecuteCommands action callback to use full event range
Use full event range in the command buffer instead of the actions range
2026-07-17 12:18:23 +01:00
Jake Turner b2948d3de5 VK_Pixel_History: add test for nested secondaries 2026-07-17 12:18:19 +01:00
Jake Turner 74d1241a55 VK_Indirect: add a large IndirectCount draw before execute secondary 2026-07-17 06:16:19 +01:00