Fix bug in frame boundary feature

In submit_wait_request we were passing the memory location of the
pointer to submission_pnext instead of the actual pointer. This commit
fixes it to pass the actual pointer. Additionally when creating the
frame boundary, set the pNext explicitly to nullptr.

Change-Id: I61ab9c898c3af4b3f401a3de6fdf7201fd2553ac
Signed-off-by: Dennis Tsiang <dennis.tsiang@arm.com>
This commit is contained in:
Dennis Tsiang 2024-10-10 10:24:36 +01:00
parent e6fa021f8d
commit c859eef158
2 changed files with 2 additions and 1 deletions

View file

@ -153,7 +153,7 @@ static VkResult submit_wait_request(VkQueue queue, const VkPresentInfoKHR &prese
/* Notify that we don't want to pass any further frame boundary events */
frame_boundary_event_handled = submission_pnext != nullptr;
TRY(wsi::sync_queue_submit(device_data, queue, VK_NULL_HANDLE, semaphores, &submission_pnext));
TRY(wsi::sync_queue_submit(device_data, queue, VK_NULL_HANDLE, semaphores, submission_pnext));
return VK_SUCCESS;
}

View file

@ -68,6 +68,7 @@ bool frame_boundary_handler::should_layer_handle_frame_boundary_events() const
VkFrameBoundaryEXT frame_boundary_handler::create_frame_boundary(VkImage *image)
{
VkFrameBoundaryEXT frame_boundary{};
frame_boundary.pNext = nullptr;
frame_boundary.sType = VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT;
frame_boundary.flags = VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT;
/* Number of presented images by swapchain as the frame boundary