From 461343cea6e6c8609274e29276f75346b4f5adfb Mon Sep 17 00:00:00 2001 From: vmarcella Date: Sat, 22 Oct 2022 11:35:18 -0700 Subject: [PATCH 1/7] [update] ash for the vulkan backend. --- src/backend/vulkan/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/vulkan/Cargo.toml b/src/backend/vulkan/Cargo.toml index b08d8f55b5..0ba16514ac 100644 --- a/src/backend/vulkan/Cargo.toml +++ b/src/backend/vulkan/Cargo.toml @@ -24,7 +24,7 @@ arrayvec = "0.5" byteorder = "1" log = "0.4" libc = { version = "0.2", optional = true } -ash = "0.32" +ash = "0.33.1" hal = { path = "../../hal", version = "0.9", package = "gfx-hal" } parking_lot = "0.11" smallvec = "1.0" From 9a972f8329ed509efe3fcd44943bc8bdaa961a0a Mon Sep 17 00:00:00 2001 From: vmarcella Date: Sat, 22 Oct 2022 11:44:46 -0700 Subject: [PATCH 2/7] [fix] references to removed ash calls. --- src/backend/vulkan/src/command.rs | 5 +- src/backend/vulkan/src/device.rs | 217 ++++++++++++---------- src/backend/vulkan/src/lib.rs | 1 - src/backend/vulkan/src/native.rs | 1 - src/backend/vulkan/src/physical_device.rs | 30 ++- 5 files changed, 141 insertions(+), 113 deletions(-) diff --git a/src/backend/vulkan/src/command.rs b/src/backend/vulkan/src/command.rs index e7ab354b1b..f7d7eb0225 100644 --- a/src/backend/vulkan/src/command.rs +++ b/src/backend/vulkan/src/command.rs @@ -1,7 +1,4 @@ -use ash::{ - version::{DeviceV1_0, DeviceV1_2}, - vk, -}; +use ash::vk; use smallvec::SmallVec; use std::{collections::hash_map::Entry, ffi::CString, mem, ops::Range, slice, sync::Arc}; diff --git a/src/backend/vulkan/src/device.rs b/src/backend/vulkan/src/device.rs index e012826859..8e10c85771 100644 --- a/src/backend/vulkan/src/device.rs +++ b/src/backend/vulkan/src/device.rs @@ -1,5 +1,5 @@ use arrayvec::ArrayVec; -use ash::{extensions::khr, version::DeviceV1_0, vk}; +use ash::{extensions::khr, vk}; use inplace_it::inplace_or_alloc_from_iter; use smallvec::SmallVec; @@ -1982,8 +1982,7 @@ impl d::Device for super::Device { sparse: hal::memory::SparseFlags, type_mask: u32, size: u64, - ) -> Result<(n::Buffer, n::Memory), hal::external_memory::ExternalResourceError> - { + ) -> Result<(n::Buffer, n::Memory), hal::external_memory::ExternalResourceError> { if self.shared.extension_fns.external_memory.is_none() { panic!( "This function rely on `Feature::EXTERNAL_MEMORY`, but the feature is not enabled" @@ -2013,9 +2012,7 @@ impl d::Device for super::Device { return Err(d::OutOfMemory::Device.into()) } Err(vk::Result::ERROR_INVALID_EXTERNAL_HANDLE_KHR) => { - return Err( - hal::external_memory::ExternalResourceError::InvalidExternalHandle, - ) + return Err(hal::external_memory::ExternalResourceError::InvalidExternalHandle) } _ => unreachable!(), }; @@ -2173,8 +2170,8 @@ impl d::Device for super::Device { Err(vk::Result::ERROR_INVALID_EXTERNAL_HANDLE_KHR) => { error!("Failed to get memory fd properties"); return Err( - hal::external_memory::ExternalResourceError::InvalidExternalHandle, - ); + hal::external_memory::ExternalResourceError::InvalidExternalHandle, + ); } err => { panic!("Unexpected error: {:#?}", err); @@ -2187,7 +2184,11 @@ impl d::Device for super::Device { .find(|id| buffer_req.type_mask & type_mask & (1 << id) & vk_memory_bits != 0) { Some(id) => id.into(), - None => return Err(hal::external_memory::ExternalResourceError::NoValidMemoryTypeId), + None => { + return Err( + hal::external_memory::ExternalResourceError::NoValidMemoryTypeId, + ) + } }; let mut import_memory_info = vk::ImportMemoryFdInfoKHR::builder() @@ -2212,34 +2213,39 @@ impl d::Device for super::Device { let handle = external_memory.handle().unwrap(); let external_memory_extension = self.shared.extension_fns.external_memory_win32.as_ref().expect("This function rely on `Feature::EXTERNAL_MEMORY`, but the feature is not enabled"); - let vk_memory_bits = { - use std::os::windows::io::AsRawHandle; - let mut memory_handle_properties = - vk::MemoryWin32HandlePropertiesKHR::builder().build(); - match external_memory_extension.get_memory_win32_handle_properties_khr( - self.shared.raw.handle(), - vk_external_memory_type, - handle.as_raw_handle(), - &mut memory_handle_properties, - ) { - vk::Result::SUCCESS => (), - vk::Result::ERROR_OUT_OF_HOST_MEMORY => { - return Err(d::OutOfMemory::Host.into()) - } - vk::Result::ERROR_INVALID_EXTERNAL_HANDLE_KHR => return Err( - hal::external_memory::ExternalResourceError::InvalidExternalHandle, - ), - _ => unreachable!(), + let vk_memory_bits = + { + use std::os::windows::io::AsRawHandle; + let mut memory_handle_properties = + vk::MemoryWin32HandlePropertiesKHR::builder().build(); + match external_memory_extension.get_memory_win32_handle_properties_khr( + self.shared.raw.handle(), + vk_external_memory_type, + handle.as_raw_handle(), + &mut memory_handle_properties, + ) { + vk::Result::SUCCESS => (), + vk::Result::ERROR_OUT_OF_HOST_MEMORY => { + return Err(d::OutOfMemory::Host.into()) + } + vk::Result::ERROR_INVALID_EXTERNAL_HANDLE_KHR => return Err( + hal::external_memory::ExternalResourceError::InvalidExternalHandle, + ), + _ => unreachable!(), + }; + memory_handle_properties.memory_type_bits }; - memory_handle_properties.memory_type_bits - }; let mem_type = match (0..32) .into_iter() .find(|id| buffer_req.type_mask & type_mask & (1 << id) & vk_memory_bits != 0) { Some(id) => id.into(), - None => return Err(hal::external_memory::ExternalResourceError::NoValidMemoryTypeId), + None => { + return Err( + hal::external_memory::ExternalResourceError::NoValidMemoryTypeId, + ) + } }; let mut import_memory_info = vk::ImportMemoryWin32HandleInfoKHR::builder() @@ -2263,35 +2269,40 @@ impl d::Device for super::Device { let ptr = external_memory.ptr().unwrap(); let external_memory_extension = self.shared.extension_fns.external_memory_host.as_ref().expect("This function rely on `Feature::EXTERNAL_MEMORY`, but the feature is not enabled"); - let vk_memory_bits = { - let mut memory_ptr_properties = - vk::MemoryHostPointerPropertiesEXT::builder().build(); - match external_memory_extension.get_memory_host_pointer_properties_ext( - self.shared.raw.handle(), - vk_external_memory_type, - ptr.as_raw_ptr(), - &mut memory_ptr_properties, - ) { - vk::Result::SUCCESS => (), - vk::Result::ERROR_OUT_OF_HOST_MEMORY => { - return Err(d::OutOfMemory::Host.into()) - } - vk::Result::ERROR_INVALID_EXTERNAL_HANDLE_KHR => return Err( - hal::external_memory::ExternalResourceError::InvalidExternalHandle, - ), - err => { - panic!("Unexpected error: {:#?}", err); - } + let vk_memory_bits = + { + let mut memory_ptr_properties = + vk::MemoryHostPointerPropertiesEXT::builder().build(); + match external_memory_extension.get_memory_host_pointer_properties_ext( + self.shared.raw.handle(), + vk_external_memory_type, + ptr.as_raw_ptr(), + &mut memory_ptr_properties, + ) { + vk::Result::SUCCESS => (), + vk::Result::ERROR_OUT_OF_HOST_MEMORY => { + return Err(d::OutOfMemory::Host.into()) + } + vk::Result::ERROR_INVALID_EXTERNAL_HANDLE_KHR => return Err( + hal::external_memory::ExternalResourceError::InvalidExternalHandle, + ), + err => { + panic!("Unexpected error: {:#?}", err); + } + }; + memory_ptr_properties.memory_type_bits }; - memory_ptr_properties.memory_type_bits - }; let mem_type = match (0..32) .into_iter() .find(|id| buffer_req.type_mask & type_mask & (1 << id) & vk_memory_bits != 0) { Some(id) => id.into(), - None => return Err(hal::external_memory::ExternalResourceError::NoValidMemoryTypeId), + None => { + return Err( + hal::external_memory::ExternalResourceError::NoValidMemoryTypeId, + ) + } }; let mut import_memory_info = vk::ImportMemoryHostPointerInfoEXT::builder() @@ -2400,8 +2411,9 @@ impl d::Device for super::Device { if let hal::external_memory::ExternalImageMemoryType::DmaBuf(dma_modifiers) = external_memory_type { - if dma_modifiers.is_empty() {(None, None)} - else { + if dma_modifiers.is_empty() { + (None, None) + } else { let drm_modifier_list: Vec = dma_modifiers .iter() .filter_map(|drm_modifier| { @@ -2415,10 +2427,11 @@ impl d::Device for super::Device { } }) .collect(); - let image_format_modifier_list = vk::ImageDrmFormatModifierListCreateInfoEXT::builder() + let image_format_modifier_list = + vk::ImageDrmFormatModifierListCreateInfoEXT::builder() .drm_format_modifiers(drm_modifier_list.as_slice()) .build(); - (Some(image_format_modifier_list),Some(drm_modifier_list),) + (Some(image_format_modifier_list), Some(drm_modifier_list)) } } else { (None, None) @@ -2508,9 +2521,7 @@ impl d::Device for super::Device { self.destroy_image(image); match err { vk::Result::ERROR_TOO_MANY_OBJECTS => { - return Err( - hal::external_memory::ExternalResourceError::TooManyObjects, - ); + return Err(hal::external_memory::ExternalResourceError::TooManyObjects); } vk::Result::ERROR_OUT_OF_HOST_MEMORY => { return Err(d::OutOfMemory::Host.into()); @@ -2706,8 +2717,8 @@ impl d::Device for super::Device { Err(vk::Result::ERROR_INVALID_EXTERNAL_HANDLE_KHR) => { error!("Failed to get memory fd properties"); return Err( - hal::external_memory::ExternalResourceError::InvalidExternalHandle, - ); + hal::external_memory::ExternalResourceError::InvalidExternalHandle, + ); } unexpected_error => { panic!( @@ -2723,7 +2734,11 @@ impl d::Device for super::Device { .find(|id| image_req.type_mask & type_mask & (1 << id) & vk_memory_bits != 0) { Some(id) => id.into(), - None => return Err(hal::external_memory::ExternalResourceError::NoValidMemoryTypeId), + None => { + return Err( + hal::external_memory::ExternalResourceError::NoValidMemoryTypeId, + ) + } }; let mut import_memory_info = vk::ImportMemoryFdInfoKHR::builder() @@ -2748,45 +2763,47 @@ impl d::Device for super::Device { #[cfg(windows)] hal::external_memory::PlatformMemoryType::Handle => { let handle = external_memory.handle().unwrap(); - let external_memory_extension = match self - .shared - .extension_fns - .external_memory_win32 - { - Some(ref functor) => functor, - _ => { - panic!("External memory windows handle extension not supported"); - } - }; - - let vk_memory_bits = { - use std::os::windows::io::AsRawHandle; - let mut memory_handle_properties = - vk::MemoryWin32HandlePropertiesKHR::builder().build(); - match external_memory_extension.get_memory_win32_handle_properties_khr( - self.shared.raw.handle(), - vk_external_memory_type, - handle.as_raw_handle(), - &mut memory_handle_properties, - ) { - vk::Result::SUCCESS => (), - vk::Result::ERROR_OUT_OF_HOST_MEMORY => { - return Err(d::OutOfMemory::Host.into()) + let external_memory_extension = + match self.shared.extension_fns.external_memory_win32 { + Some(ref functor) => functor, + _ => { + panic!("External memory windows handle extension not supported"); } - vk::Result::ERROR_INVALID_EXTERNAL_HANDLE_KHR => return Err( - hal::external_memory::ExternalResourceError::InvalidExternalHandle, - ), - _ => unreachable!(), }; - memory_handle_properties.memory_type_bits - }; + + let vk_memory_bits = + { + use std::os::windows::io::AsRawHandle; + let mut memory_handle_properties = + vk::MemoryWin32HandlePropertiesKHR::builder().build(); + match external_memory_extension.get_memory_win32_handle_properties_khr( + self.shared.raw.handle(), + vk_external_memory_type, + handle.as_raw_handle(), + &mut memory_handle_properties, + ) { + vk::Result::SUCCESS => (), + vk::Result::ERROR_OUT_OF_HOST_MEMORY => { + return Err(d::OutOfMemory::Host.into()) + } + vk::Result::ERROR_INVALID_EXTERNAL_HANDLE_KHR => return Err( + hal::external_memory::ExternalResourceError::InvalidExternalHandle, + ), + _ => unreachable!(), + }; + memory_handle_properties.memory_type_bits + }; let mem_type = match (0..32) .into_iter() .find(|id| image_req.type_mask & type_mask & (1 << id) & vk_memory_bits != 0) { Some(id) => id.into(), - None => return Err(hal::external_memory::ExternalResourceError::NoValidMemoryTypeId), + None => { + return Err( + hal::external_memory::ExternalResourceError::NoValidMemoryTypeId, + ) + } }; let mut import_memory_info = vk::ImportMemoryWin32HandleInfoKHR::builder() @@ -2823,9 +2840,11 @@ impl d::Device for super::Device { vk::Result::ERROR_OUT_OF_HOST_MEMORY => { return Err(d::OutOfMemory::Host.into()) } - vk::Result::ERROR_INVALID_EXTERNAL_HANDLE_KHR => return Err( - hal::external_memory::ExternalResourceError::InvalidExternalHandle, - ), + vk::Result::ERROR_INVALID_EXTERNAL_HANDLE_KHR => { + return Err( + hal::external_memory::ExternalResourceError::InvalidExternalHandle, + ) + } unexpected_error => { panic!("Unexpected error on `get_memory_host_pointer_properties_ext`: {:#?}", unexpected_error); } @@ -2838,7 +2857,11 @@ impl d::Device for super::Device { .find(|id| image_req.type_mask & type_mask & (1 << id) & vk_memory_bits != 0) { Some(id) => id.into(), - None => return Err(hal::external_memory::ExternalResourceError::NoValidMemoryTypeId), + None => { + return Err( + hal::external_memory::ExternalResourceError::NoValidMemoryTypeId, + ) + } }; let mut import_memory_info = vk::ImportMemoryHostPointerInfoEXT::builder() diff --git a/src/backend/vulkan/src/lib.rs b/src/backend/vulkan/src/lib.rs index f1a06b58de..6ac8733577 100644 --- a/src/backend/vulkan/src/lib.rs +++ b/src/backend/vulkan/src/lib.rs @@ -32,7 +32,6 @@ use ash::Entry; type Entry = ash::EntryCustom<()>; use ash::{ extensions::{ext, khr, nv::MeshShader}, - version::{DeviceV1_0, EntryV1_0, InstanceV1_0}, vk, }; diff --git a/src/backend/vulkan/src/native.rs b/src/backend/vulkan/src/native.rs index e2520a6b8b..9917d4d662 100644 --- a/src/backend/vulkan/src/native.rs +++ b/src/backend/vulkan/src/native.rs @@ -1,5 +1,4 @@ use crate::{Backend, RawDevice, ROUGH_MAX_ATTACHMENT_COUNT}; -use ash::{version::DeviceV1_0, vk}; use hal::{ device::OutOfMemory, image::{Extent, SubresourceRange}, diff --git a/src/backend/vulkan/src/physical_device.rs b/src/backend/vulkan/src/physical_device.rs index e6db021308..98da4e8bc9 100644 --- a/src/backend/vulkan/src/physical_device.rs +++ b/src/backend/vulkan/src/physical_device.rs @@ -1,6 +1,5 @@ use ash::{ extensions::{khr::DrawIndirectCount, khr::Swapchain, nv::MeshShader}, - version::{DeviceV1_0, InstanceV1_0}, vk, }; @@ -1249,7 +1248,8 @@ impl adapter::PhysicalDevice for PhysicalDevice { (format_properties, Vec::new()) } Some(ref extension) => { - let mut raw_format_modifiers: Vec = Vec::new(); + let mut raw_format_modifiers: Vec = + Vec::new(); let mut drm_format_properties = vk::DrmFormatModifierPropertiesListEXT::builder().build(); let mut format_properties2 = vk::FormatProperties2::builder() @@ -1264,14 +1264,18 @@ impl adapter::PhysicalDevice for PhysicalDevice { format.map_or(vk::Format::UNDEFINED, conv::map_format), &mut format_properties2, ); - raw_format_modifiers.reserve_exact(drm_format_properties.drm_format_modifier_count as usize); - drm_format_properties.p_drm_format_modifier_properties = raw_format_modifiers.as_mut_ptr(); + raw_format_modifiers.reserve_exact( + drm_format_properties.drm_format_modifier_count as usize, + ); + drm_format_properties.p_drm_format_modifier_properties = + raw_format_modifiers.as_mut_ptr(); self.instance.inner.get_physical_device_format_properties2( self.handle, format.map_or(vk::Format::UNDEFINED, conv::map_format), &mut format_properties2, ); - raw_format_modifiers.set_len(drm_format_properties.drm_format_modifier_count as usize); + raw_format_modifiers + .set_len(drm_format_properties.drm_format_modifier_count as usize); } ExtensionFn::Extension(extension) => { extension.get_physical_device_format_properties2_khr( @@ -1279,14 +1283,18 @@ impl adapter::PhysicalDevice for PhysicalDevice { format.map_or(vk::Format::UNDEFINED, conv::map_format), &mut format_properties2, ); - raw_format_modifiers.reserve_exact(drm_format_properties.drm_format_modifier_count as usize); - drm_format_properties.p_drm_format_modifier_properties = raw_format_modifiers.as_mut_ptr(); + raw_format_modifiers.reserve_exact( + drm_format_properties.drm_format_modifier_count as usize, + ); + drm_format_properties.p_drm_format_modifier_properties = + raw_format_modifiers.as_mut_ptr(); extension.get_physical_device_format_properties2_khr( self.handle, format.map_or(vk::Format::UNDEFINED, conv::map_format), &mut format_properties2, ); - raw_format_modifiers.set_len(drm_format_properties.drm_format_modifier_count as usize); + raw_format_modifiers + .set_len(drm_format_properties.drm_format_modifier_count as usize); } } @@ -1503,8 +1511,10 @@ impl adapter::PhysicalDevice for PhysicalDevice { usage: image::Usage, view_caps: image::ViewCapabilities, external_memory_type: external_memory::ExternalMemoryType, - ) -> Result - { + ) -> Result< + external_memory::ExternalMemoryProperties, + external_memory::ExternalImagePropertiesError, + > { if self.instance.external_memory_capabilities.is_none() { panic!( "This function rely on `Feature::EXTERNAL_MEMORY`, but the feature is not enabled" From 827569ea61b785acef25d0a34369d9529c06d3d3 Mon Sep 17 00:00:00 2001 From: vmarcella Date: Sat, 22 Oct 2022 12:28:27 -0700 Subject: [PATCH 3/7] [add] ash::vk back into native. --- src/backend/vulkan/src/native.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/vulkan/src/native.rs b/src/backend/vulkan/src/native.rs index 9917d4d662..e9ce68e7f5 100644 --- a/src/backend/vulkan/src/native.rs +++ b/src/backend/vulkan/src/native.rs @@ -4,6 +4,7 @@ use hal::{ image::{Extent, SubresourceRange}, pso, }; +use ash::vk; use inplace_it::inplace_or_alloc_from_iter; use parking_lot::Mutex; use smallvec::SmallVec; From a39b5cb80d9deb31ca25027bf8841a8e15e69936 Mon Sep 17 00:00:00 2001 From: vmarcella Date: Sat, 22 Oct 2022 12:48:19 -0700 Subject: [PATCH 4/7] [fix] ash calls on macos. --- src/backend/vulkan/src/window.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/vulkan/src/window.rs b/src/backend/vulkan/src/window.rs index 9e35e79374..ea57c3997e 100644 --- a/src/backend/vulkan/src/window.rs +++ b/src/backend/vulkan/src/window.rs @@ -1,6 +1,6 @@ use std::{borrow::Borrow, fmt, os::raw::c_void, sync::Arc, time::Instant}; -use ash::{extensions::khr, version::DeviceV1_0 as _, vk}; +use ash::{extensions::khr, vk}; use hal::{format::Format, window as w}; use crate::{ @@ -205,7 +205,7 @@ impl Instance { unsafe { mac_os_loader - .create_mac_os_surface_mvk(&info, None) + .create_mac_os_surface(&info, None) .expect("Unable to create macOS surface") } }; From db22c0fb0525ee970e86321ad2439767c0e9f2b8 Mon Sep 17 00:00:00 2001 From: vmarcella Date: Sat, 22 Oct 2022 12:52:15 -0700 Subject: [PATCH 5/7] [fix] Instance version calls. --- src/backend/vulkan/src/physical_device.rs | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/backend/vulkan/src/physical_device.rs b/src/backend/vulkan/src/physical_device.rs index 98da4e8bc9..d9d4aab70e 100644 --- a/src/backend/vulkan/src/physical_device.rs +++ b/src/backend/vulkan/src/physical_device.rs @@ -1458,7 +1458,6 @@ impl adapter::PhysicalDevice for PhysicalDevice { external_buffer_properties.external_memory_properties } Some(ExtensionFn::Promoted) => { - use ash::version::InstanceV1_1; let mut external_buffer_properties = vk::ExternalBufferProperties::builder().build(); unsafe { @@ -1521,7 +1520,6 @@ impl adapter::PhysicalDevice for PhysicalDevice { ); } - use ash::version::InstanceV1_1; let external_memory_type_flags: hal::external_memory::ExternalMemoryTypeFlags = external_memory_type.into(); let vk_external_memory_type = @@ -1740,15 +1738,12 @@ impl adapter::PhysicalDevice for PhysicalDevice { .build(); match get_physical_device_properties { - ExtensionFn::Promoted => { - use ash::version::InstanceV1_1; - unsafe { - self.instance.inner.get_physical_device_properties2( - self.handle, - &mut physical_device_properties2, - ); - } - } + ExtensionFn::Promoted => unsafe { + self.instance.inner.get_physical_device_properties2( + self.handle, + &mut physical_device_properties2, + ); + }, ExtensionFn::Extension(get_physical_device_properties) => unsafe { get_physical_device_properties.get_physical_device_properties2_khr( self.handle, From c596999bc114190b1f8cadd8c626ac0356905edb Mon Sep 17 00:00:00 2001 From: vmarcella Date: Sat, 22 Oct 2022 13:37:39 -0700 Subject: [PATCH 6/7] [fix] more broken references. --- src/backend/vulkan/src/physical_device.rs | 2 -- src/backend/vulkan/src/pool.rs | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/backend/vulkan/src/physical_device.rs b/src/backend/vulkan/src/physical_device.rs index d9d4aab70e..3b27b0c5c9 100644 --- a/src/backend/vulkan/src/physical_device.rs +++ b/src/backend/vulkan/src/physical_device.rs @@ -680,7 +680,6 @@ impl PhysicalDeviceInfo { match get_device_properties { ExtensionFn::Promoted => { - use ash::version::InstanceV1_1; unsafe { instance .inner @@ -1258,7 +1257,6 @@ impl adapter::PhysicalDevice for PhysicalDevice { // Ash does not implement the "double call" behaviour for this function, so it is implemented here. match extension { ExtensionFn::Promoted => { - use ash::version::InstanceV1_1; self.instance.inner.get_physical_device_format_properties2( self.handle, format.map_or(vk::Format::UNDEFINED, conv::map_format), diff --git a/src/backend/vulkan/src/pool.rs b/src/backend/vulkan/src/pool.rs index 26a1fd41b1..2f2bde4a3e 100644 --- a/src/backend/vulkan/src/pool.rs +++ b/src/backend/vulkan/src/pool.rs @@ -1,7 +1,7 @@ use crate::{command::CommandBuffer, conv, Backend, RawDevice}; use hal::{command, pool}; -use ash::{version::DeviceV1_0, vk}; +use ash::vk; use inplace_it::inplace_or_alloc_from_iter; use std::sync::Arc; From c238d10cd8e248447453ecd2e877f1c36baa5771 Mon Sep 17 00:00:00 2001 From: vmarcella Date: Sat, 22 Oct 2022 20:13:29 -0700 Subject: [PATCH 7/7] [update] entry. --- src/backend/vulkan/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/vulkan/src/lib.rs b/src/backend/vulkan/src/lib.rs index 6ac8733577..5a04dce086 100644 --- a/src/backend/vulkan/src/lib.rs +++ b/src/backend/vulkan/src/lib.rs @@ -593,7 +593,7 @@ impl hal::Instance for Instance { libc::dlsym(libc::RTLD_NEXT, name.as_ptr()) }); - let driver_api_version = match entry.try_enumerate_instance_version() { + let driver_api_version = match entry?.try_enumerate_instance_version() { // Vulkan 1.1+ Ok(Some(version)) => version.into(),