Commit Graph
17102 Commits
Author SHA1 Message Date
baldurk c11d53b0d4 Handle mutually recursive pointer types in packing rules estimation 2026-08-03 21:15:19 +01:00
baldurk 1b9c13223f Check for all possible GL matrix types in buffer formatter. Closes #3878 2026-08-03 21:15:19 +01:00
baldurk fda6fc2322 Fix calculation of array size when calculating struct sizes
* Non-tightly packed arrays can be larger based on the stride than base size
  multiplied by element count, e.g. with a 4-byte uint with a 16-byte array
  stride.
2026-08-03 21:15:19 +01:00
baldurk 430286642d Mark OOB reads in cbuffers as truncated 2026-08-03 21:15:19 +01:00
baldurk 114222f0eb Check for extensions function pointers provided by layers. Closes #3877 2026-08-03 21:15:18 +01:00
nachocpol b857463968 Feedback from PR 2026-08-03 20:05:06 +09:00
nachocpol 0ba299366b Support old GEP type instructions 2026-08-03 20:05:06 +09:00
Jake Turner 4e59f62a96 During Loading replay replace D3D12ActionTreeNode with D3D12EventNode
D3D12EventNode 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 D3D12EventNode's have been flattened into linear submission order then the D3D12EventNode's are baked into RenderDoc replay APIEvents and Actions. Event IDs and Action IDs are assigned as part of the baking process
2026-07-30 16:36:02 +01:00
Jake Turner 5a1b2c23e1 Extend D3D12_Annotations test
- loose event annotation
  - a barrier at end of command buffer
  - at end of command buffer attached to CommandList Close
  - command buffer with no actions, just set marker
- annotations before/during/after ExecuteIndirect calls
2026-07-30 16:36:02 +01:00
Jake Turner c559aa64af Check indirect action names in D3D12_Execute_Indirect 2026-07-30 16:36:02 +01:00
Jake Turner 6df99e4d94 Extend python helper functions for D3D12 indirect action names 2026-07-30 16:35:53 +01:00
Jake Turner 4d57e74c9d Release VulkanEventNodes after they are baked into actions/events 2026-07-27 21:23:14 +01:00
Jake Turner 9b942d0533 Extend D3D12_Execute_Indirect: add tests with a count buffer
- MaxCount: 1024 CountBuf: 5
- MaxCount: 1 CountBuf: 7
- MaxCount: 0 CountBuf: 11
2026-07-27 21:23:13 +01:00
baldurk d0030787c6 Fetch inputs and allow debugging for VRS. Closes #3705 2026-07-27 17:10:14 +01:00
baldurk d1c236573a Remove custom title bar close button icon. Closes #3875 2026-07-27 12:48:00 +01:00
baldurk c6949d9c45 Add support for VK_KHR_extended_flags 2026-07-27 12:37:28 +01:00
baldurk 63b38ef8b4 Encode information for ASTC/PVRTC blocks in ResourceFormat 2026-07-27 11:22:02 +01:00
baldurk e434ebbbba Handle multiview viewmask set with all 32 bits 2026-07-24 21:08:27 +01:00
baldurk caa6977a13 Add support for VK_EXT_image_sliced_view_of_3d 2026-07-24 17:52:49 +01:00
baldurk 70caae7418 Add support for VK_EXT_zero_initialize_device_memory 2026-07-24 17:52:48 +01:00
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 Monday 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