for (uint32_t i = 0; i < fence_count; i++) {
TU_FROM_HANDLE(tu_fence, fence, fences[i]);
+ /* skip wsi fences */
+ if (fence->fence_wsi)
+ continue;
+
if (fence->signaled) {
if (wait_all) {
/* skip signaled fences */
for (uint32_t i = 0; i < fence_count; i++) {
TU_FROM_HANDLE(tu_fence, fence, fences[i]);
+ /* skip wsi fences */
+ if (fence->fence_wsi)
+ continue;
+
/* no signaled fence in fds */
if (fence->signaled)
continue;
if (fds != stack_fds)
vk_free(&device->alloc, fds);
+ if (result != VK_SUCCESS)
+ return result;
+
for (uint32_t i = 0; i < fenceCount; ++i) {
TU_FROM_HANDLE(tu_fence, fence, pFences[i]);
if (fence->fence_wsi) {