Skip to content

Disable Vulkan dependency at compile time on Apple platforms #321

@kvark

Description

@kvark

This is a slightly controversial thing. Originally I put Vulkan as the first choice that is available on all platforms in the spirit of Vulkan Portability Initiative. @grovesNL then pointed me to the fact that we don't want to prefer Vulkan devices over Metal ones on Apple platforms.

Thinking about this some more, I don't think there is a practical end-user case for running Vulkan there, since it's not going to be as efficient as wgpu-rs running on Metal anyway. The developer case though is - to allow the use of Vulkan validation layers to fill the gaps in our built-in validation. This is clearly temporary until our validation matures enough.

I think what we should do is the following:

  • keep Vulkan to be the first choice
  • on Apple platforms, make Vulkan to be an optional dependency, disabled by default

This way, developers can force-enable the dependency when debugging, knowing that Vulkan devices will show up first, but end users will not need to build the Vulkan backend or care about it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions