Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing external semaphores #2253

Open
nkhanhtranfb opened this issue Jun 11, 2024 · 1 comment
Open

Implementing external semaphores #2253

nkhanhtranfb opened this issue Jun 11, 2024 · 1 comment

Comments

@nkhanhtranfb
Copy link

nkhanhtranfb commented Jun 11, 2024

Hi,

I'm writing an application that need access to external semaphore functionalities provided by these extensions VK_KHR_external_fence and VK_KHR_external_semaphore. These extensions are supported when querying the list of supported extensions, but when I query to get the properties of the semaphore using VK_KHR_external_fence_capabilities and VK_KHR_external_semaphore_capabilities, the handle types and semaphore features are all 0:

static const VkExternalSemaphoreProperties _emptyExtSemProps = {VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, nullptr, 0, 0, 0};

Is this not implemented correctly in MoltenVK? Pardon my language if I made any mistake, I'm new to Vulkan & MoltenVK :).

@cdavis5e
Copy link
Collaborator

Based on my reading of the standard, it is legal for a Vulkan implementation to implement VK_KHR_external_semaphore without supporting any external handle types. Typically, supporting a handle type requires also supporting one of the handle-type extensions (e.g. VK_KHR_external_semaphore_fd).

Metal does support this functionality, but first we need to define extensions providing extension structures so you can, you know, actually import and export these objects, because none of the existing ones is adequate for Metal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants