vulkano-rs / vulkano

Safe and rich Rust wrapper around the Vulkan API
Apache License 2.0
4.45k stars 435 forks source link

Validation errors when enabling unsupported instance or device extensions #2532

Open johannesherschel opened 3 months ago

johannesherschel commented 3 months ago

Creating an instance or device with unsupported extensions causes a validation error with VUID-vkCreateInstance-ppEnabledExtensionNames-01388 or VUID-vkCreateDevice-ppEnabledExtensionNames-01387, respectively. However, according to the Vulkan specification, it is perfectly valid to request unsupported extensions; they are guaranteed to cause a VK_ERROR_EXTENSION_NOT_PRESENT. The VUIDs only require that required extensions of enabled extensions are also enabled, which is ensured by Vulkano even with the unchecked functions for instance or device creation.

I think the current checks for extension support on creation should be removed. They are redundant since the Vulkan implementation is required to do them anyway, and I would not expect any validation error if no VUID is violated.

Rua commented 1 month ago

What extensions and features are you enabling, and what validation error do you get?