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

Use device in pipeline_executable_properties and timeline_semaphore #499

Merged
merged 2 commits into from
Nov 19, 2021

Conversation

MarijnS95
Copy link
Collaborator

Of all the extensions calling get_instance_proc_addr only these two remain that should use the "optimized" device-specific function pointers, since all functions take the device as argument (a child of the device such as a command buffer or queue is also possible, but not applicable here) and may otherwise have to go through a dispatch function 1.

Only VK_EXT_debug_utils remains where all but three of the functions are device (or device-child) specific. This however requires the autogenerated loader to be separated out into two stages (and debug utils are generally initialized before creating a logical device), making it worth to accept the dispatch function unless this extension struct is split, too.

Of all the extensions calling get_instance_proc_addr only these two
remain that should use the "optimized" device-specific function
pointers, since all functions take the device as argument (a child of
the device such as a command buffer or queue is also possible, but not
applicable here) and may otherwise have to go through a dispatch
function [1].

Only VK_EXT_debug_utils remains where all but three of the functions are
device (or device-child) specific.  This however requires the
autogenerated loader to be separated out into two stages (and debug
utils are generally initialized before creating a logical device),
making it worth to accept the dispatch function unless this extension
struct is split, too.

[1]: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkGetDeviceProcAddr.html
@Rua
Copy link
Contributor

Rua commented Nov 19, 2021

Not directly related to the PR, but how do you know which functions have such "optimised" versions?

@MarijnS95
Copy link
Collaborator Author

@Rua guessing and interpreting [1], there's no actual doc stating what functions can go through this mechanism.

@Ralith Ralith merged commit f628ef1 into master Nov 19, 2021
@MarijnS95 MarijnS95 deleted the device-fns branch November 19, 2021 19:08
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