gfxreconstruct
gfxreconstruct copied to clipboard
[capture] Replay a capture for trimming doesn't produce any output
Describe the capture bug: While I managed to successfully capture and application and the replay of the trace appears to be working properly, trying to capture the replay of the trace to trim it to a single frame does not work.
Build Environment: Using 0cbab3c27e8a60af517b7132e07c1e710899fb9e
Capture Settings:
$ gfxrecon-capture-vulkan.py -o /tmp/frame29 -f 29 gfxrecon-replay --log-level debug ~/capture_20250204T141832
Executing program gfxrecon-replay
Errors:
gfxrecon-replay: gfxreconstruct/framework/encode/vulkan_state_tracker.cpp:3242: void gfxrecon::encode::VulkanStateTracker::TrackBeginRendering(VkCommandBuffer, const VkRenderingInfo*): Assertion `img_view_wrapper != nullptr' failed.
Output:
[gfxrecon] WARNING - Replay tool has detected that the capture layer is enabled
[gfxrecon] INFO - Settings Loader: Found option "GFXRECON_CAPTURE_FILE" with value "/tmp/frame29"
[gfxrecon] INFO - Settings Loader: Found option "GFXRECON_CAPTURE_FRAMES" with value "29"
[gfxrecon] INFO - Initializing GFXReconstruct capture layer
[gfxrecon] INFO - GFXReconstruct Version 1.0.5-dev (dev:0cbab3c) Debug
[gfxrecon] INFO - Vulkan Header Version 1.4.304
[gfxrecon] INFO - Replay adjusted the vkGetPhysicalDeviceQueueFamilyProperties array count: capture count = 1, replay count = 3
[gfxrecon] INFO - Vulkan Header Version 1.4.304
[gfxrecon] INFO - Vulkan Header Version 1.4.304
[gfxrecon] INFO - Replay adjusted the vkGetPhysicalDeviceQueueFamilyProperties array count: capture count = 1, replay count = 3
[gfxrecon] INFO - Replay adjusted the vkGetPhysicalDeviceQueueFamilyProperties array count: capture count = 1, replay count = 3
[gfxrecon] WARNING - A Shader is using the 'SPV_KHR_physical_storage_buffer' feature. Resource tracking for buffers accessed via references is currently unsupported, so replay may fail.
[gfxrecon] INFO - Vulkan Header Version 1.4.304
Yet replaying the capture alone works :
$ gfxrecon-replay --log-level debug ~/capture_20250204T141832
[gfxrecon] INFO - Replay adjusted the vkGetPhysicalDeviceQueueFamilyProperties array count: capture count = 1, replay count = 3
[gfxrecon] INFO - Replay adjusted the vkGetPhysicalDeviceQueueFamilyProperties array count: capture count = 1, replay count = 3
[gfxrecon] INFO - Replay adjusted the vkGetPhysicalDeviceQueueFamilyProperties array count: capture count = 1, replay count = 3
[gfxrecon] DEBUG - buffer-reference: (u_info_t) -> dst_buffer (push-constant-block, buffer-offset: 0, array-stride: 0)
[gfxrecon] WARNING - A Shader is using the 'SPV_KHR_physical_storage_buffer' feature. Resource tracking for buffers accessed via references is currently unsupported, so replay may fail.
[gfxrecon] DEBUG - buffer-reference: (u_info_t) -> dst_buffer (push-constant-block, buffer-offset: 0, array-stride: 0)
[gfxrecon] DEBUG - buffer-reference: (u_info_t) -> src_buffer (push-constant-block, buffer-offset: 0, array-stride: 0)
[gfxrecon] DEBUG - buffer-reference: (u_info_t) -> dst_args (push-constant-block, buffer-offset: 0, array-stride: 0)
[gfxrecon] DEBUG - buffer-reference: (u_info_t) -> dst_args (push-constant-block, buffer-offset: 0, array-stride: 0)
[gfxrecon] DEBUG - buffer-reference: (u_info_t) -> dst_args (push-constant-block, buffer-offset: 0, array-stride: 0)
[gfxrecon] DEBUG - buffer-reference: (u_info_t) -> dst_args (push-constant-block, buffer-offset: 0, array-stride: 0)
[gfxrecon] DEBUG - buffer-reference: (u_info_t) -> dst_args (push-constant-block, buffer-offset: 0, array-stride: 0)
[gfxrecon] DEBUG - buffer-reference: (u_info_t) -> dst_args (push-constant-block, buffer-offset: 0, array-stride: 0)
[gfxrecon] DEBUG - buffer-reference: (u_info_t) -> src (push-constant-block, buffer-offset: 0, array-stride: 0)
[gfxrecon] DEBUG - buffer-reference: (Registers) -> out_dispatch (push-constant-block, buffer-offset: 0, array-stride: 0)
[gfxrecon] DEBUG - buffer-reference: (Registers) -> indirect (push-constant-block, buffer-offset: 0, array-stride: 0)
[gfxrecon] DEBUG - buffer-reference: (Registers) -> out_dispatch (push-constant-block, buffer-offset: 8, array-stride: 0)
[gfxrecon] INFO - Replay adjusted the vkGetPhysicalDeviceQueueFamilyProperties array count: capture count = 1, replay count = 3
[gfxrecon] INFO - Replay adjusted the vkGetPhysicalDeviceQueueFamilyProperties array count: capture count = 1, replay count = 3
[gfxrecon] DEBUG - Virtual swapchain skipping creating blit info for queue family 1 because it was not enabled by the device
[gfxrecon] DEBUG - Virtual swapchain skipping creating blit info for queue family 2 because it was not enabled by the device
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] INFO - Replay adjusted the vkGetPhysicalDeviceQueueFamilyProperties array count: capture count = 1, replay count = 3
[gfxrecon] DEBUG - Virtual swapchain skipping creating blit info for queue family 1 because it was not enabled by the device
[gfxrecon] DEBUG - Virtual swapchain skipping creating blit info for queue family 2 because it was not enabled by the device
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkAcquireNextImageKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
[gfxrecon] WARNING - API call vkQueuePresentKHR returned value VK_SUBOPTIMAL_KHR that does not match return value from capture file: VK_SUCCESS.
To Reproduce: Take a capture of the benchmark, try to replay and capture a single frame
Screenshots: N/A
System environment:
- Intel B580 / Intel Mesa main branch
Title configuration:
- Title name : Assassin's Creed Valhalla
- Title version : N/A
- Steam ID if applicable : 2208920
- Is DXR enabled? : No
Additional information (optional):
- is there a SHA for which capture is known to work? : N/A, capture is working
- Does capture operate correctly on a different GPU or driver version? : not tested