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

Investigate using Vulkan api version 1.1+ #3302

Closed
Wumpf opened this issue Jul 13, 2020 · 1 comment · Fixed by #3624
Closed

Investigate using Vulkan api version 1.1+ #3302

Wumpf opened this issue Jul 13, 2020 · 1 comment · Fixed by #3624

Comments

@Wumpf
Copy link
Member

Wumpf commented Jul 13, 2020

Currently the Vulkan backend is hardcoded to use version 1.0.0. Changing it to use the newest available version is easy:

        let api_version_default = vk::make_version(1, 0, 0);
        let api_version = entry
            .try_enumerate_instance_version()
            .unwrap_or(Some(api_version_default))
            .unwrap_or(api_version_default);
        trace!(
            "Using Vulkan api version {}.{}.{}",
            vk::version_major(api_version),
            vk::version_minor(api_version),
            vk::version_patch(api_version)
        );

(and pass this to vk::ApplicationInfo)

However, it is currently unknown if this would break any existing API: Many inputs to the gfx-hal api are just passed on to Vulkan as-is. Need to map out changes to Vulkan core in 1.1/1.2/.. and figure out if anything could behave differently in newer versions.

@tangmi
Copy link
Contributor

tangmi commented Jan 15, 2021

Possibly relevant (from LunarG):

It seems like upgrading to 1.1+ will be pretty straightforward. When we implement features like descriptor indexing or ray tracing, we may need to be careful to conditionally light them up in the Vulkan backends based on the SDK version as well as the feature availability (although my driver will happily report ray tracing is available on a 1.0 device...). Edit: there may be additional work for the migration that isn't documented by the LunarG docs!

Edit: related to #3146?

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

Successfully merging a pull request may close this issue.

3 participants