diff --git a/.pick_status.json b/.pick_status.json index 69b4cc3a659..2821ca0f059 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -211,7 +211,7 @@ "description": "venus: fix android wsi with global fencing disabled", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "b21e4a7990cf4d68948f5b3379bd828626e6f8a1" }, diff --git a/src/virtio/vulkan/vn_android.c b/src/virtio/vulkan/vn_android.c index b38530a0d5c..a4066e41ac0 100644 --- a/src/virtio/vulkan/vn_android.c +++ b/src/virtio/vulkan/vn_android.c @@ -826,8 +826,9 @@ vn_QueueSignalReleaseImageANDROID(VkQueue _queue, struct vn_device *dev = queue->device; const VkAllocationCallbacks *alloc = &dev->base.base.alloc; const bool has_sync_fd_fence_export = - dev->physical_device->renderer_sync_fd_fence_features & - VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT; + dev->instance->experimental.globalFencing == VK_TRUE && + (dev->physical_device->renderer_sync_fd_fence_features & + VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT); VkDevice device = vn_device_to_handle(dev); VkPipelineStageFlags local_stage_masks[8]; VkPipelineStageFlags *stage_masks = local_stage_masks;