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

vkGetInstanceProcAddr get device extension dispathcable command that extension must been enabled #2436

Closed
wants to merge 1 commit into from

Conversation

FuXiii
Copy link
Contributor

@FuXiii FuXiii commented Sep 14, 2024

In my system case, if I didn't enabled device extension, but fetch function pointer directly, it will return NULL .

I think we had better add the limilt about enabled device extension .

✧(≖ ◡ ≖)

…ice extension command after enable extension
@FuXiii FuXiii changed the title vkGetInstanceProcAddr get device extension dispathcable that extension must been enabled vkGetInstanceProcAddr get device extension dispathcable command that extension must been enabled Sep 14, 2024
@TomOlson
Copy link

@FuXiii we don't understand what you are trying to fix. Could you post exactly what entry point you called with what parameters, and tell us what result you got and why it is not what you expected?

@FuXiii
Copy link
Contributor Author

FuXiii commented Sep 29, 2024

I means, before we get device extension dispatchable command for instance, should we must enabled it?

@r-potter
Copy link
Contributor

r-potter commented Oct 4, 2024

As long as at least one physical device supports the required extension, you can call vkGetInstanceProcAddr to retrieve a device extension dispatchable command, and you should get a non-null result back.

You can do this before you have even created a VkDevice, which implies that the device extension does not need to have been enabled. However, for non-physical device level functions (i.e. anything that takes VkDevice or any of it's children) you will need to enable the device extension before actually calling the returned function.

If you are not seeing this behaviour (i.e. you are getting NULL) then this likely implies a bug. This may be a driver/loader issue, or may be because you don't have any physical devices that support the specific extension.

@FuXiii
Copy link
Contributor Author

FuXiii commented Oct 8, 2024

Is that means: I can use vkGetInstanceProcAddr to load any device extension dispatchable command that physical device support support, in this case I just can load them but can not calling them. If I want calling them I must need enabled relevant device extension.

@r-potter
Copy link
Contributor

That is correct, yes.

@FuXiii
Copy link
Contributor Author

FuXiii commented Oct 11, 2024

Ok, thank you very much.

@FuXiii FuXiii closed this Oct 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants