Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion samples/api/hello_triangle/hello_triangle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -827,7 +827,7 @@ VkResult HelloTriangle::acquire_next_image(uint32_t *image)

VkResult res = vkAcquireNextImageKHR(context.device, context.swapchain, UINT64_MAX, acquire_semaphore, VK_NULL_HANDLE, image);

if (res != VK_SUCCESS)
if (res != VK_SUCCESS && res != VK_SUBOPTIMAL_KHR)
{
context.recycled_semaphores.push_back(acquire_semaphore);
return res;
Expand Down
2 changes: 1 addition & 1 deletion samples/api/hello_triangle_1_3/hello_triangle_1_3.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -861,7 +861,7 @@ VkResult HelloTriangleV13::acquire_next_swapchain_image(uint32_t *image)

VkResult res = vkAcquireNextImageKHR(context.device, context.swapchain, UINT64_MAX, acquire_semaphore, VK_NULL_HANDLE, image);

if (res != VK_SUCCESS)
if (res != VK_SUCCESS && res != VK_SUBOPTIMAL_KHR)
{
context.recycled_semaphores.push_back(acquire_semaphore);
return res;
Expand Down
2 changes: 1 addition & 1 deletion samples/api/hpp_hello_triangle/hpp_hello_triangle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ std::pair<vk::Result, uint32_t> HPPHelloTriangle::acquire_next_image()
uint32_t image;
std::tie(res, image) = device.acquireNextImageKHR(swapchain_data.swapchain, UINT64_MAX, acquire_semaphore);

if (res != vk::Result::eSuccess)
if (res != vk::Result::eSuccess && res != vk::Result::eSuboptimalKHR)
{
recycled_semaphores.push_back(acquire_semaphore);
return {res, image};
Expand Down
9 changes: 5 additions & 4 deletions samples/api/hpp_hello_triangle_1_3/hpp_hello_triangle_1_3.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
/* Copyright (c) 2025-2026, NVIDIA CORPORATION. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
Expand Down Expand Up @@ -286,7 +286,7 @@ vk::Result HPPHelloTriangleV13::acquire_next_swapchain_image(uint32_t *image)
result = vk::Result::eErrorOutOfDateKHR;
}

if (result != vk::Result::eSuccess)
if (result != vk::Result::eSuccess && result != vk::Result::eSuboptimalKHR)
{
context.recycled_semaphores.push_back(acquire_semaphore);
}
Expand All @@ -304,8 +304,8 @@ vk::Result HPPHelloTriangleV13::acquire_next_swapchain_image(uint32_t *image)
// since we're waiting for old frames to have been completed, but just in case.
if (context.per_frame[*image].queue_submit_fence)
{
result = context.device.waitForFences(context.per_frame[*image].queue_submit_fence, true, UINT64_MAX);
assert(result == vk::Result::eSuccess);
vk::Result wait_result = context.device.waitForFences(context.per_frame[*image].queue_submit_fence, true, UINT64_MAX);
assert(wait_result == vk::Result::eSuccess);
context.device.resetFences(context.per_frame[*image].queue_submit_fence);
}

Expand All @@ -323,6 +323,7 @@ vk::Result HPPHelloTriangleV13::acquire_next_swapchain_image(uint32_t *image)
}

context.per_frame[*image].swapchain_acquire_semaphore = acquire_semaphore;
result = vk::Result::eSuccess;
}
return result;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -594,7 +594,7 @@ VkResult FullScreenExclusive::acquire_next_image(uint32_t *image)

VkResult result = vkAcquireNextImageKHR(context.device, context.swapchain, UINT64_MAX, acquire_semaphore, VK_NULL_HANDLE, image);

if (result != VK_SUCCESS)
if (result != VK_SUCCESS && result != VK_SUBOPTIMAL_KHR)
{
context.recycled_semaphores.push_back(acquire_semaphore);
return result;
Expand Down
Loading