pub trait IsCommandEnabled {
// Required method
fn is_command_enabled(
self,
api_version: &ApiVersion,
enabled_extensions: &BTreeSet<Extension>,
) -> bool;
}Available on crate feature
unstable only.Expand description
Used to extend an iterator of Feature.
Required Methods§
Sourcefn is_command_enabled(
self,
api_version: &ApiVersion,
enabled_extensions: &BTreeSet<Extension>,
) -> bool
fn is_command_enabled( self, api_version: &ApiVersion, enabled_extensions: &BTreeSet<Extension>, ) -> bool
Given a list of Features where the command is defined, the Vulkan API version and a set
of enabled extensions, returns if the command is enabled.
One command with the same name can appear in different features, e.g.
vkCmdBindVertexBuffers2EXT
is defined in both
VK_EXT_extended_dynamic_state
and
VK_EXT_shader_object.
vkGetDeviceProcAddr should return a valid function pointer vkCmdBindVertexBuffers2EXT if
either extension is enabled.
§Examples
use ash::vk;
use std::collections::BTreeSet;
use vulkan_layer::{
unstable_api::{ApiVersion, Feature, IsCommandEnabled},
Extension,
};
let features: Vec<Feature> = vec![
Extension::EXTExtendedDynamicState.into(),
Extension::EXTShaderObject.into(),
];
assert!(features.is_command_enabled(
&ApiVersion::V1_1,
&BTreeSet::from([Extension::EXTExtendedDynamicState.into()])
));
assert!(features.is_command_enabled(
&ApiVersion::V1_1,
&BTreeSet::from([Extension::EXTShaderObject.into()])
));
assert!(!features.is_command_enabled(&ApiVersion::V1_1, &BTreeSet::new()));