aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/layer.cc24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/layer.cc b/src/layer.cc
index 5df896a..e94fe54 100644
--- a/src/layer.cc
+++ b/src/layer.cc
@@ -420,9 +420,13 @@ vkQueueSubmit(VkQueue queue, std::uint32_t submit_count,
return next_submit;
});
- const auto result = vtable.QueueSubmit(
- queue, static_cast<std::uint32_t>(std::size(next_submits)),
- std::data(next_submits), fence);
+ if (const auto result = vtable.QueueSubmit(
+ queue, static_cast<std::uint32_t>(std::size(next_submits)),
+ std::data(next_submits), fence);
+ result != VK_SUCCESS) {
+
+ return result;
+ }
// We have to notify after we submit - otherwise we have a race where we
// wait for work that wasn't submitted.
@@ -430,7 +434,7 @@ vkQueueSubmit(VkQueue queue, std::uint32_t submit_count,
context->strategy->notify_submit(submit, std::move(handle));
}
- return result;
+ return VK_SUCCESS;
}
// The logic for this function is identical to vkSubmitInfo.
@@ -480,15 +484,19 @@ vkQueueSubmit2(VkQueue queue, std::uint32_t submit_count,
return next_submit;
});
- const auto result = vtable.QueueSubmit2(
- queue, static_cast<std::uint32_t>(std::size(next_submits)),
- std::data(next_submits), fence);
+ if (const auto result = vtable.QueueSubmit2(
+ queue, static_cast<std::uint32_t>(std::size(next_submits)),
+ std::data(next_submits), fence);
+ result != VK_SUCCESS) {
+
+ return result;
+ }
for (auto&& [submit, handle] : std::views::zip(submit_span, handles)) {
context->strategy->notify_submit(submit, std::move(handle));
}
- return result;
+ return VK_SUCCESS;
}
static VKAPI_ATTR VkResult VKAPI_CALL