Skip to content

Commit

Permalink
refactor(vulkan): extract enumerate_instance_extension_properties h…
Browse files Browse the repository at this point in the history
…elper

This will be used shortly for checking if we should proceed with
enabling GPU-based validation.
  • Loading branch information
ErichDonGubler committed Feb 9, 2024
1 parent 66fb08d commit 4167f22
Showing 1 changed file with 17 additions and 10 deletions.
27 changes: 17 additions & 10 deletions wgpu-hal/src/vulkan/instance.rs
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,22 @@ impl super::Instance {
&self.shared
}

fn enumerate_instance_extension_properties(
entry: &ash::Entry,
layer_name: Option<&CStr>,
) -> Result<Vec<vk::ExtensionProperties>, crate::InstanceError> {
let instance_extensions = {
profiling::scope!("vkEnumerateInstanceExtensionProperties");
entry.enumerate_instance_extension_properties(layer_name)
};
instance_extensions.map_err(|e| {
crate::InstanceError::with_source(
String::from("enumerate_instance_extension_properties() failed"),
e,
)
})
}

/// Return the instance extension names wgpu would like to enable.
///
/// Return a vector of the names of instance extensions actually available
Expand All @@ -229,16 +245,7 @@ impl super::Instance {
_instance_api_version: u32,
flags: wgt::InstanceFlags,
) -> Result<Vec<&'static CStr>, crate::InstanceError> {
let instance_extensions = {
profiling::scope!("vkEnumerateInstanceExtensionProperties");
entry.enumerate_instance_extension_properties(None)
};
let instance_extensions = instance_extensions.map_err(|e| {
crate::InstanceError::with_source(
String::from("enumerate_instance_extension_properties() failed"),
e,
)
})?;
let instance_extensions = Self::enumerate_instance_extension_properties(entry, None)?;

// Check our extensions against the available extensions
let mut extensions: Vec<&'static CStr> = Vec::new();
Expand Down

0 comments on commit 4167f22

Please sign in to comment.