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

Not clear if extension use in vkCreateDevice require enabled extension #1540

Open
krOoze opened this issue May 25, 2021 · 2 comments
Open

Not clear if extension use in vkCreateDevice require enabled extension #1540

krOoze opened this issue May 25, 2021 · 2 comments

Comments

@krOoze
Copy link
Contributor

krOoze commented May 25, 2021

It is not clear if extension use in vkCreateDevice does require the extension to be enabled in ppEnabledExtensions.

The spec says this:

Each structure present in the pNext chain must be defined at runtime by either:

  • a core version which is supported
  • an extension which is enabled
  • a supported device extension in the case of physical-device-level functionality added by the device extension

Technically vkCreateDevice is a physical-device-level functionality, so this says putting anything in the chain that is supported is valid. But I find it likely not true, as vkCreateDevice does have a ppEnabledExtensions parameter, and it feels like the extension should be in there if one wants to use some pNext struct from it.

Similar concern for other parameters, such as VkDeviceCreateInfo::flags. The spec says:

physical-device-level functionality of a device extension can be used with a physical device if the corresponding extension is enumerated by vkEnumerateDeviceExtensionProperties for that physical device, even before a logical device has been created.

Again, vkCreateDevice is technically a physical-device-level functionality, because glossary says:

Physical-Device-Level Command:
    Any command that is dispatched from a physical device.

@oddhack
Copy link
Contributor

oddhack commented Nov 23, 2021

@sfricke-samsung did an internal tracker get created for this? I can't find one.

@Rua
Copy link
Contributor

Rua commented Sep 8, 2022

I was looking for an answer to this as well. A similar question applies in theory to vkCreateInstance.

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

5 participants