From c0da1b3c0addb1caedc67bf4379d8bffcf942b0e Mon Sep 17 00:00:00 2001 From: Colin Marc Date: Mon, 2 Dec 2024 14:51:09 +0100 Subject: [PATCH 1/2] extensions/khr: Add video encode/decode queue extensions This adds the following extensions: - VK_KHR_video_queue - VK_KHR_video_encode_queue - VK_KHR_video_decode_queue --- Changelog.md | 1 + ash/src/extensions/khr/mod.rs | 3 + ash/src/extensions/khr/video_decode_queue.rs | 16 ++ ash/src/extensions/khr/video_encode_queue.rs | 83 +++++++ ash/src/extensions/khr/video_queue.rs | 242 +++++++++++++++++++ ash/src/lib.rs | 15 +- 6 files changed, 359 insertions(+), 1 deletion(-) create mode 100644 ash/src/extensions/khr/video_decode_queue.rs create mode 100644 ash/src/extensions/khr/video_encode_queue.rs create mode 100644 ash/src/extensions/khr/video_queue.rs diff --git a/Changelog.md b/Changelog.md index c299cbe1b..616268bee 100644 --- a/Changelog.md +++ b/Changelog.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added `VK_KHR_get_display_properties2` instance extension (#932) - Added `VK_EXT_metal_objects` device extension (#942) - Added `VK_AMD_anti_lag` device extension (#943) +- Added `VK_KHR_video_queue`, `VK_KHR_video_encode_queue`, and `VK_KHR_video_decode_queue` device extensions (#965) ### Changed diff --git a/ash/src/extensions/khr/mod.rs b/ash/src/extensions/khr/mod.rs index cd15e02ec..b5313cdb2 100644 --- a/ash/src/extensions/khr/mod.rs +++ b/ash/src/extensions/khr/mod.rs @@ -40,6 +40,9 @@ pub mod surface; pub mod swapchain; pub mod synchronization2; pub mod timeline_semaphore; +pub mod video_decode_queue; +pub mod video_encode_queue; +pub mod video_queue; pub mod wayland_surface; pub mod win32_surface; pub mod xcb_surface; diff --git a/ash/src/extensions/khr/video_decode_queue.rs b/ash/src/extensions/khr/video_decode_queue.rs new file mode 100644 index 000000000..1b4e3be86 --- /dev/null +++ b/ash/src/extensions/khr/video_decode_queue.rs @@ -0,0 +1,16 @@ +//! + +use crate::vk; + +impl crate::khr::video_decode_queue::Device { + /// + #[inline] + #[doc(alias = "vkCmdDecodeVideoKHR")] + pub unsafe fn cmd_decode_video( + &self, + command_buffer: vk::CommandBuffer, + decode_info: &vk::VideoDecodeInfoKHR<'_>, + ) { + (self.fp.cmd_decode_video_khr)(command_buffer, decode_info) + } +} diff --git a/ash/src/extensions/khr/video_encode_queue.rs b/ash/src/extensions/khr/video_encode_queue.rs new file mode 100644 index 000000000..078f2406b --- /dev/null +++ b/ash/src/extensions/khr/video_encode_queue.rs @@ -0,0 +1,83 @@ +//! + +use crate::vk; +use crate::RawMutPtr; +use crate::VkResult; +use core::mem; +use core::ptr; + +impl crate::khr::video_encode_queue::Device { + /// + #[inline] + #[doc(alias = "vkCmdEncodeVideoKHR")] + pub unsafe fn cmd_encode_video( + &self, + command_buffer: vk::CommandBuffer, + encode_info: &vk::VideoEncodeInfoKHR<'_>, + ) { + (self.fp.cmd_encode_video_khr)(command_buffer, encode_info) + } + + /// Retrieve the length of the byte slice to pass to [`get_encoded_video_session_parameters()`][Self::get_encoded_video_session_parameters()]. + #[inline] + pub unsafe fn get_encoded_video_session_parameters_len( + &self, + session_parameters_info: &vk::VideoEncodeSessionParametersGetInfoKHR<'_>, + feedback_info: Option<&mut vk::VideoEncodeSessionParametersFeedbackInfoKHR<'_>>, + ) -> VkResult { + let mut size = mem::MaybeUninit::uninit(); + (self.fp.get_encoded_video_session_parameters_khr)( + self.handle, + session_parameters_info, + feedback_info.as_raw_mut_ptr(), + size.as_mut_ptr(), + ptr::null_mut(), + ) + .assume_init_on_success(size) + } + + /// + /// + /// Call [`get_encoded_video_session_parameters_len()`][Self::get_encoded_video_session_parameters_len()] to query the length of the byte slice to pass to `out`. + #[inline] + #[doc(alias = "vkGetEncodedVideoSessionParametersKHR")] + pub unsafe fn get_encoded_video_session_parameters( + &self, + session_parameters_info: &vk::VideoEncodeSessionParametersGetInfoKHR<'_>, + feedback_info: Option<&mut vk::VideoEncodeSessionParametersFeedbackInfoKHR<'_>>, + out: &mut [mem::MaybeUninit], + ) -> VkResult<()> { + let mut size = out.len(); + (self.fp.get_encoded_video_session_parameters_khr)( + self.handle, + session_parameters_info, + feedback_info.as_raw_mut_ptr(), + &mut size, + out.as_mut_ptr() as _, + ) + .result()?; + assert_eq!(size, out.len()); + Ok(()) + } +} + +impl crate::khr::video_encode_queue::Instance { + /// + #[inline] + #[doc(alias = "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR")] + pub unsafe fn get_physical_device_video_encode_quality_level_properties( + &self, + physical_device: vk::PhysicalDevice, + quality_level_info: &vk::PhysicalDeviceVideoEncodeQualityLevelInfoKHR<'_>, + quality_level_properties: &mut vk::VideoEncodeQualityLevelPropertiesKHR<'_>, + ) -> VkResult<()> { + (self + .fp + .get_physical_device_video_encode_quality_level_properties_khr)( + physical_device, + quality_level_info, + quality_level_properties, + ) + .result() + } +} diff --git a/ash/src/extensions/khr/video_queue.rs b/ash/src/extensions/khr/video_queue.rs new file mode 100644 index 000000000..9dc584071 --- /dev/null +++ b/ash/src/extensions/khr/video_queue.rs @@ -0,0 +1,242 @@ +//! + +use crate::vk; +use crate::RawPtr; +use crate::VkResult; +use core::mem; +use core::ptr; + +impl crate::khr::video_queue::Device { + /// + #[inline] + #[doc(alias = "vkBindVideoSessionMemoryKHR")] + pub unsafe fn bind_video_session_memory( + &self, + video_session: vk::VideoSessionKHR, + bind_session_memory_infos: &[vk::BindVideoSessionMemoryInfoKHR<'_>], + ) -> VkResult<()> { + (self.fp.bind_video_session_memory_khr)( + self.handle, + video_session, + bind_session_memory_infos.len() as u32, + bind_session_memory_infos.as_ptr(), + ) + .result() + } + + /// + #[inline] + #[doc(alias = "vkCmdBeginVideoCodingKHR")] + pub unsafe fn cmd_begin_video_coding( + &self, + command_buffer: vk::CommandBuffer, + begin_info: &vk::VideoBeginCodingInfoKHR<'_>, + ) { + (self.fp.cmd_begin_video_coding_khr)(command_buffer, begin_info) + } + + /// + #[inline] + #[doc(alias = "vkCmdControlVideoCodingKHR")] + pub unsafe fn cmd_control_video_coding( + &self, + command_buffer: vk::CommandBuffer, + coding_control_info: &vk::VideoCodingControlInfoKHR<'_>, + ) { + (self.fp.cmd_control_video_coding_khr)(command_buffer, coding_control_info) + } + + /// + #[inline] + #[doc(alias = "vkCmdEndVideoCodingKHR")] + pub unsafe fn cmd_end_video_coding( + &self, + command_buffer: vk::CommandBuffer, + end_coding_info: &vk::VideoEndCodingInfoKHR<'_>, + ) { + (self.fp.cmd_end_video_coding_khr)(command_buffer, end_coding_info) + } + + /// + #[inline] + #[doc(alias = "vkCreateVideoSessionKHR")] + pub unsafe fn create_video_session( + &self, + create_info: &vk::VideoSessionCreateInfoKHR<'_>, + allocation_callbacks: Option<&vk::AllocationCallbacks>, + ) -> VkResult { + let mut video_session = mem::MaybeUninit::uninit(); + (self.fp.create_video_session_khr)( + self.handle, + create_info, + allocation_callbacks.as_raw_ptr(), + video_session.as_mut_ptr(), + ) + .assume_init_on_success(video_session) + } + + /// + #[inline] + #[doc(alias = "vkCreateVideoSessionParametersKHR")] + pub unsafe fn create_video_session_parameters( + &self, + create_info: &vk::VideoSessionParametersCreateInfoKHR<'_>, + allocation_callbacks: Option<&vk::AllocationCallbacks>, + ) -> VkResult { + let mut video_session_parameters = mem::MaybeUninit::uninit(); + (self.fp.create_video_session_parameters_khr)( + self.handle, + create_info, + allocation_callbacks.as_raw_ptr(), + video_session_parameters.as_mut_ptr(), + ) + .assume_init_on_success(video_session_parameters) + } + + /// + #[inline] + #[doc(alias = "vkDestroyVideoSessionKHR")] + pub unsafe fn destroy_video_session( + &self, + video_session: vk::VideoSessionKHR, + allocation_callbacks: Option<&vk::AllocationCallbacks>, + ) { + (self.fp.destroy_video_session_khr)( + self.handle, + video_session, + allocation_callbacks.as_raw_ptr(), + ) + } + + /// + #[inline] + #[doc(alias = "vkDestroyVideoSessionParametersKHR")] + pub unsafe fn destroy_video_session_parameters( + &self, + video_session_parameters: vk::VideoSessionParametersKHR, + allocation_callbacks: Option<&vk::AllocationCallbacks>, + ) { + (self.fp.destroy_video_session_parameters_khr)( + self.handle, + video_session_parameters, + allocation_callbacks.as_raw_ptr(), + ) + } + + /// Retrieve the number of elements to pass to [`get_video_session_memory_requirements()`][Self::get_video_session_memory_requirements()]. + #[inline] + pub unsafe fn get_video_session_memory_requirements_len( + &self, + video_session: vk::VideoSessionKHR, + ) -> VkResult { + let mut count = mem::MaybeUninit::uninit(); + (self.fp.get_video_session_memory_requirements_khr)( + self.handle, + video_session, + count.as_mut_ptr(), + ptr::null_mut(), + ) + .assume_init_on_success(count) + .map(|c| c as usize) + } + + /// + /// + /// Call [`get_video_session_memory_requirements_len()`][Self::get_video_session_memory_requirements_len()] to query the number of elements to pass to `out`. + /// Be sure to [`Default::default()`]-initialize these elements and optionally set their `p_next` pointer. + #[inline] + #[doc(alias = "vkGetVideoSessionMemoryRequirementsKHR")] + pub unsafe fn get_video_session_memory_requirements( + &self, + video_session: vk::VideoSessionKHR, + out: &mut [vk::VideoSessionMemoryRequirementsKHR<'_>], + ) -> VkResult<()> { + let mut count = out.len() as u32; + (self.fp.get_video_session_memory_requirements_khr)( + self.handle, + video_session, + &mut count, + out.as_mut_ptr(), + ) + .result()?; + assert_eq!(count as usize, out.len()); + Ok(()) + } + + /// + #[inline] + #[doc(alias = "vkUpdateVideoSessionParametersKHR")] + pub unsafe fn update_video_session_parameters( + &self, + video_session_parameters: vk::VideoSessionParametersKHR, + update_info: &vk::VideoSessionParametersUpdateInfoKHR<'_>, + ) -> VkResult<()> { + (self.fp.update_video_session_parameters_khr)( + self.handle, + video_session_parameters, + update_info, + ) + .result() + } +} + +impl crate::khr::video_queue::Instance { + /// + #[inline] + #[doc(alias = "vkGetPhysicalDeviceVideoCapabilitiesKHR")] + pub unsafe fn get_physical_device_video_capabilities( + &self, + physical_device: vk::PhysicalDevice, + video_profile: &vk::VideoProfileInfoKHR<'_>, + capabilities: &mut vk::VideoCapabilitiesKHR<'_>, + ) -> VkResult<()> { + (self.fp.get_physical_device_video_capabilities_khr)( + physical_device, + video_profile, + capabilities, + ) + .result() + } + + /// Retrieve the number of elements to pass to [`get_physical_device_video_format_properties()`][Self::get_physical_device_video_format_properties()]. + #[inline] + pub unsafe fn get_physical_device_video_format_properties_len( + &self, + physical_device: vk::PhysicalDevice, + video_format_info: &vk::PhysicalDeviceVideoFormatInfoKHR<'_>, + ) -> VkResult { + let mut count = mem::MaybeUninit::uninit(); + (self.fp.get_physical_device_video_format_properties_khr)( + physical_device, + video_format_info, + count.as_mut_ptr(), + ptr::null_mut(), + ) + .assume_init_on_success(count) + .map(|c| c as usize) + } + + /// + /// + /// Call [`get_physical_device_video_format_properties_len()`][Self::get_physical_device_video_format_properties_len()] to query the number of elements to pass to `out`. + /// Be sure to [`Default::default()`]-initialize these elements and optionally set their `p_next` pointer. + #[inline] + #[doc(alias = "vkGetPhysicalDeviceVideoFormatPropertiesKHR")] + pub unsafe fn get_physical_device_video_format_properties( + &self, + physical_device: vk::PhysicalDevice, + video_format_info: &vk::PhysicalDeviceVideoFormatInfoKHR<'_>, + out: &mut [vk::VideoFormatPropertiesKHR<'_>], + ) -> VkResult<()> { + let mut count = out.len() as u32; + (self.fp.get_physical_device_video_format_properties_khr)( + physical_device, + video_format_info, + &mut count, + out.as_mut_ptr(), + ) + .result()?; + assert_eq!(count as usize, out.len()); + Ok(()) + } +} diff --git a/ash/src/lib.rs b/ash/src/lib.rs index bbdc88e97..6049fc580 100644 --- a/ash/src/lib.rs +++ b/ash/src/lib.rs @@ -90,7 +90,20 @@ impl RawPtr for Option<&T> { fn as_raw_ptr(&self) -> *const T { match *self { Some(inner) => inner, - _ => ::core::ptr::null(), + None => ptr::null(), + } + } +} + +pub trait RawMutPtr { + unsafe fn as_raw_mut_ptr(self) -> *mut T; +} + +impl RawMutPtr for Option<&mut T> { + unsafe fn as_raw_mut_ptr(self) -> *mut T { + match self { + Some(inner) => inner, + None => ptr::null_mut(), } } } From 3bb5bb72eb145c25d470d480b9df6cd1b53ba99d Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Tue, 6 May 2025 19:04:15 +0200 Subject: [PATCH 2/2] Rename `as_raw(_mut)_ptr()` to `to_*` to match `self` (by-value) convention --- Changelog.md | 1 + ash/src/device.rs | 94 +++++++++---------- ash/src/entry.rs | 2 +- ash/src/extensions/amdx/shader_enqueue.rs | 2 +- ash/src/extensions/ext/debug_report.rs | 4 +- ash/src/extensions/ext/debug_utils.rs | 4 +- ash/src/extensions/ext/headless_surface.rs | 2 +- ash/src/extensions/ext/metal_surface.rs | 2 +- ash/src/extensions/ext/private_data.rs | 4 +- ash/src/extensions/ext/shader_object.rs | 4 +- .../extensions/khr/acceleration_structure.rs | 4 +- ash/src/extensions/khr/android_surface.rs | 2 +- ash/src/extensions/khr/create_renderpass2.rs | 2 +- .../khr/deferred_host_operations.rs | 4 +- ash/src/extensions/khr/display.rs | 4 +- ash/src/extensions/khr/display_swapchain.rs | 2 +- .../extensions/khr/ray_tracing_pipeline.rs | 2 +- .../khr/sampler_ycbcr_conversion.rs | 4 +- ash/src/extensions/khr/surface.rs | 2 +- ash/src/extensions/khr/swapchain.rs | 4 +- ash/src/extensions/khr/video_encode_queue.rs | 4 +- ash/src/extensions/khr/video_queue.rs | 8 +- ash/src/extensions/khr/wayland_surface.rs | 2 +- ash/src/extensions/khr/win32_surface.rs | 2 +- ash/src/extensions/khr/xcb_surface.rs | 2 +- ash/src/extensions/khr/xlib_surface.rs | 2 +- ash/src/extensions/mvk/ios_surface.rs | 2 +- ash/src/extensions/mvk/macos_surface.rs | 2 +- ash/src/extensions/nn/vi_surface.rs | 2 +- ash/src/extensions/nv/cuda_kernel_launch.rs | 8 +- ash/src/extensions/nv/low_latency2.rs | 2 +- ash/src/extensions/nv/ray_tracing.rs | 6 +- ash/src/instance.rs | 4 +- ash/src/lib.rs | 10 +- 34 files changed, 103 insertions(+), 102 deletions(-) diff --git a/Changelog.md b/Changelog.md index 616268bee..a274e9a59 100644 --- a/Changelog.md +++ b/Changelog.md @@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `get_pipeline_executable_statistics()`. The expected length of this array can be queried with the respective `*_len()` variant of these functions. - `push_next()` has been renamed to `extend()` and marked as `unsafe`. Users are encouraged to call `push()` for singular structs instead. (#909) +- Changed and renamed `RawPtr::as_raw_ptr(&self)` trait function to a by-value `RawPtr::to_raw_ptr(self)` function. (#965) ### Removed diff --git a/ash/src/device.rs b/ash/src/device.rs index 630914146..349648173 100644 --- a/ash/src/device.rs +++ b/ash/src/device.rs @@ -83,7 +83,7 @@ impl Device { (self.device_fn_1_3.create_private_data_slot)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), private_data_slot.as_mut_ptr(), ) .assume_init_on_success(private_data_slot) @@ -99,7 +99,7 @@ impl Device { (self.device_fn_1_3.destroy_private_data_slot)( self.handle, private_data_slot, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ) } @@ -619,7 +619,7 @@ impl Device { (self.device_fn_1_2.create_render_pass2)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), renderpass.as_mut_ptr(), ) .assume_init_on_success(renderpass) @@ -903,7 +903,7 @@ impl Device { (self.device_fn_1_1.create_sampler_ycbcr_conversion)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ycbcr_conversion.as_mut_ptr(), ) .assume_init_on_success(ycbcr_conversion) @@ -919,7 +919,7 @@ impl Device { (self.device_fn_1_1.destroy_sampler_ycbcr_conversion)( self.handle(), ycbcr_conversion, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -934,7 +934,7 @@ impl Device { (self.device_fn_1_1.create_descriptor_update_template)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), descriptor_update_template.as_mut_ptr(), ) .assume_init_on_success(descriptor_update_template) @@ -950,7 +950,7 @@ impl Device { (self.device_fn_1_1.destroy_descriptor_update_template)( self.handle(), descriptor_update_template, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -991,7 +991,7 @@ impl Device { /// #[inline] pub unsafe fn destroy_device(&self, allocation_callbacks: Option<&vk::AllocationCallbacks>) { - (self.device_fn_1_0.destroy_device)(self.handle(), allocation_callbacks.as_raw_ptr()); + (self.device_fn_1_0.destroy_device)(self.handle(), allocation_callbacks.to_raw_ptr()); } /// @@ -1004,7 +1004,7 @@ impl Device { (self.device_fn_1_0.destroy_sampler)( self.handle(), sampler, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1015,7 +1015,7 @@ impl Device { memory: vk::DeviceMemory, allocation_callbacks: Option<&vk::AllocationCallbacks>, ) { - (self.device_fn_1_0.free_memory)(self.handle(), memory, allocation_callbacks.as_raw_ptr()); + (self.device_fn_1_0.free_memory)(self.handle(), memory, allocation_callbacks.to_raw_ptr()); } /// @@ -1044,7 +1044,7 @@ impl Device { (self.device_fn_1_0.create_event)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), event.as_mut_ptr(), ) .assume_init_on_success(event) @@ -1131,7 +1131,7 @@ impl Device { fence: vk::Fence, allocation_callbacks: Option<&vk::AllocationCallbacks>, ) { - (self.device_fn_1_0.destroy_fence)(self.handle(), fence, allocation_callbacks.as_raw_ptr()); + (self.device_fn_1_0.destroy_fence)(self.handle(), fence, allocation_callbacks.to_raw_ptr()); } /// @@ -1141,7 +1141,7 @@ impl Device { event: vk::Event, allocation_callbacks: Option<&vk::AllocationCallbacks>, ) { - (self.device_fn_1_0.destroy_event)(self.handle(), event, allocation_callbacks.as_raw_ptr()); + (self.device_fn_1_0.destroy_event)(self.handle(), event, allocation_callbacks.to_raw_ptr()); } /// @@ -1151,7 +1151,7 @@ impl Device { image: vk::Image, allocation_callbacks: Option<&vk::AllocationCallbacks>, ) { - (self.device_fn_1_0.destroy_image)(self.handle(), image, allocation_callbacks.as_raw_ptr()); + (self.device_fn_1_0.destroy_image)(self.handle(), image, allocation_callbacks.to_raw_ptr()); } /// @@ -1164,7 +1164,7 @@ impl Device { (self.device_fn_1_0.destroy_command_pool)( self.handle(), pool, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1178,7 +1178,7 @@ impl Device { (self.device_fn_1_0.destroy_image_view)( self.handle(), image_view, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1192,7 +1192,7 @@ impl Device { (self.device_fn_1_0.destroy_render_pass)( self.handle(), renderpass, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1206,7 +1206,7 @@ impl Device { (self.device_fn_1_0.destroy_framebuffer)( self.handle(), framebuffer, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1220,7 +1220,7 @@ impl Device { (self.device_fn_1_0.destroy_pipeline_layout)( self.handle(), pipeline_layout, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1234,7 +1234,7 @@ impl Device { (self.device_fn_1_0.destroy_pipeline_cache)( self.handle(), pipeline_cache, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1248,7 +1248,7 @@ impl Device { (self.device_fn_1_0.destroy_buffer)( self.handle(), buffer, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1262,7 +1262,7 @@ impl Device { (self.device_fn_1_0.destroy_shader_module)( self.handle(), shader, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1276,7 +1276,7 @@ impl Device { (self.device_fn_1_0.destroy_pipeline)( self.handle(), pipeline, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1290,7 +1290,7 @@ impl Device { (self.device_fn_1_0.destroy_semaphore)( self.handle(), semaphore, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1304,7 +1304,7 @@ impl Device { (self.device_fn_1_0.destroy_descriptor_pool)( self.handle(), pool, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1318,7 +1318,7 @@ impl Device { (self.device_fn_1_0.destroy_query_pool)( self.handle(), pool, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1332,7 +1332,7 @@ impl Device { (self.device_fn_1_0.destroy_descriptor_set_layout)( self.handle(), layout, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -1379,7 +1379,7 @@ impl Device { (self.device_fn_1_0.create_sampler)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), sampler.as_mut_ptr(), ) .assume_init_on_success(sampler) @@ -1568,7 +1568,7 @@ impl Device { (self.device_fn_1_0.create_descriptor_set_layout)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), layout.as_mut_ptr(), ) .assume_init_on_success(layout) @@ -1591,7 +1591,7 @@ impl Device { (self.device_fn_1_0.create_descriptor_pool)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), pool.as_mut_ptr(), ) .assume_init_on_success(pool) @@ -2136,7 +2136,7 @@ impl Device { (self.device_fn_1_0.create_semaphore)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), semaphore.as_mut_ptr(), ) .assume_init_on_success(semaphore) @@ -2160,7 +2160,7 @@ impl Device { pipeline_cache, create_infos.len() as u32, create_infos.as_ptr(), - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), pipelines.as_mut_ptr(), ); pipelines.set_len(create_infos.len()); @@ -2188,7 +2188,7 @@ impl Device { pipeline_cache, create_infos.len() as u32, create_infos.as_ptr(), - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), pipelines.as_mut_ptr(), ); pipelines.set_len(create_infos.len()); @@ -2209,7 +2209,7 @@ impl Device { (self.device_fn_1_0.create_buffer)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), buffer.as_mut_ptr(), ) .assume_init_on_success(buffer) @@ -2226,7 +2226,7 @@ impl Device { (self.device_fn_1_0.create_pipeline_layout)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), pipeline_layout.as_mut_ptr(), ) .assume_init_on_success(pipeline_layout) @@ -2243,7 +2243,7 @@ impl Device { (self.device_fn_1_0.create_pipeline_cache)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), pipeline_cache.as_mut_ptr(), ) .assume_init_on_success(pipeline_cache) @@ -2347,7 +2347,7 @@ impl Device { (self.device_fn_1_0.create_framebuffer)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), framebuffer.as_mut_ptr(), ) .assume_init_on_success(framebuffer) @@ -2403,7 +2403,7 @@ impl Device { (self.device_fn_1_0.create_render_pass)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), renderpass.as_mut_ptr(), ) .assume_init_on_success(renderpass) @@ -2504,7 +2504,7 @@ impl Device { (self.device_fn_1_0.create_buffer_view)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), buffer_view.as_mut_ptr(), ) .assume_init_on_success(buffer_view) @@ -2520,7 +2520,7 @@ impl Device { (self.device_fn_1_0.destroy_buffer_view)( self.handle(), buffer_view, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -2535,7 +2535,7 @@ impl Device { (self.device_fn_1_0.create_image_view)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), image_view.as_mut_ptr(), ) .assume_init_on_success(image_view) @@ -2567,7 +2567,7 @@ impl Device { (self.device_fn_1_0.create_command_pool)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), pool.as_mut_ptr(), ) .assume_init_on_success(pool) @@ -2584,7 +2584,7 @@ impl Device { (self.device_fn_1_0.create_query_pool)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), pool.as_mut_ptr(), ) .assume_init_on_success(pool) @@ -2601,7 +2601,7 @@ impl Device { (self.device_fn_1_0.create_image)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), image.as_mut_ptr(), ) .assume_init_on_success(image) @@ -2662,7 +2662,7 @@ impl Device { (self.device_fn_1_0.allocate_memory)( self.handle(), allocate_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), memory.as_mut_ptr(), ) .assume_init_on_success(memory) @@ -2679,7 +2679,7 @@ impl Device { (self.device_fn_1_0.create_shader_module)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), shader.as_mut_ptr(), ) .assume_init_on_success(shader) @@ -2696,7 +2696,7 @@ impl Device { (self.device_fn_1_0.create_fence)( self.handle(), create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), fence.as_mut_ptr(), ) .assume_init_on_success(fence) diff --git a/ash/src/entry.rs b/ash/src/entry.rs index b590fa4b9..edca96086 100644 --- a/ash/src/entry.rs +++ b/ash/src/entry.rs @@ -259,7 +259,7 @@ impl Entry { let mut instance = mem::MaybeUninit::uninit(); let instance = (self.entry_fn_1_0.create_instance)( create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), instance.as_mut_ptr(), ) .assume_init_on_success(instance)?; diff --git a/ash/src/extensions/amdx/shader_enqueue.rs b/ash/src/extensions/amdx/shader_enqueue.rs index 6e13dd4fb..1d50358a1 100644 --- a/ash/src/extensions/amdx/shader_enqueue.rs +++ b/ash/src/extensions/amdx/shader_enqueue.rs @@ -25,7 +25,7 @@ impl crate::amdx::shader_enqueue::Device { pipeline_cache, create_infos.len() as u32, create_infos.as_ptr(), - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), pipelines.as_mut_ptr(), ); pipelines.set_len(create_infos.len()); diff --git a/ash/src/extensions/ext/debug_report.rs b/ash/src/extensions/ext/debug_report.rs index d212ae014..5fed2285f 100755 --- a/ash/src/extensions/ext/debug_report.rs +++ b/ash/src/extensions/ext/debug_report.rs @@ -16,7 +16,7 @@ impl crate::ext::debug_report::Instance { (self.fp.destroy_debug_report_callback_ext)( self.handle, debug, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -31,7 +31,7 @@ impl crate::ext::debug_report::Instance { (self.fp.create_debug_report_callback_ext)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), debug_cb.as_mut_ptr(), ) .assume_init_on_success(debug_cb) diff --git a/ash/src/extensions/ext/debug_utils.rs b/ash/src/extensions/ext/debug_utils.rs index 191802baa..d1baf726b 100755 --- a/ash/src/extensions/ext/debug_utils.rs +++ b/ash/src/extensions/ext/debug_utils.rs @@ -89,7 +89,7 @@ impl crate::ext::debug_utils::Instance { (self.fp.create_debug_utils_messenger_ext)( self.handle, create_info, - allocator.as_raw_ptr(), + allocator.to_raw_ptr(), messenger.as_mut_ptr(), ) .assume_init_on_success(messenger) @@ -102,7 +102,7 @@ impl crate::ext::debug_utils::Instance { messenger: vk::DebugUtilsMessengerEXT, allocator: Option<&vk::AllocationCallbacks>, ) { - (self.fp.destroy_debug_utils_messenger_ext)(self.handle, messenger, allocator.as_raw_ptr()); + (self.fp.destroy_debug_utils_messenger_ext)(self.handle, messenger, allocator.to_raw_ptr()); } /// diff --git a/ash/src/extensions/ext/headless_surface.rs b/ash/src/extensions/ext/headless_surface.rs index a1b8fd417..03f33b4cf 100644 --- a/ash/src/extensions/ext/headless_surface.rs +++ b/ash/src/extensions/ext/headless_surface.rs @@ -17,7 +17,7 @@ impl crate::ext::headless_surface::Instance { (self.fp.create_headless_surface_ext)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), surface.as_mut_ptr(), ) .assume_init_on_success(surface) diff --git a/ash/src/extensions/ext/metal_surface.rs b/ash/src/extensions/ext/metal_surface.rs index f4c3c0a9a..831aae8c6 100644 --- a/ash/src/extensions/ext/metal_surface.rs +++ b/ash/src/extensions/ext/metal_surface.rs @@ -17,7 +17,7 @@ impl crate::ext::metal_surface::Instance { (self.fp.create_metal_surface_ext)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), surface.as_mut_ptr(), ) .assume_init_on_success(surface) diff --git a/ash/src/extensions/ext/private_data.rs b/ash/src/extensions/ext/private_data.rs index aa333d826..b97320068 100644 --- a/ash/src/extensions/ext/private_data.rs +++ b/ash/src/extensions/ext/private_data.rs @@ -17,7 +17,7 @@ impl crate::ext::private_data::Device { (self.fp.create_private_data_slot_ext)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), private_data_slot.as_mut_ptr(), ) .assume_init_on_success(private_data_slot) @@ -33,7 +33,7 @@ impl crate::ext::private_data::Device { (self.fp.destroy_private_data_slot_ext)( self.handle, private_data_slot, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ) } diff --git a/ash/src/extensions/ext/shader_object.rs b/ash/src/extensions/ext/shader_object.rs index 244fb266e..830edecae 100644 --- a/ash/src/extensions/ext/shader_object.rs +++ b/ash/src/extensions/ext/shader_object.rs @@ -29,7 +29,7 @@ impl crate::ext::shader_object::Device { self.handle, create_infos.len() as u32, create_infos.as_ptr(), - allocator.as_raw_ptr(), + allocator.to_raw_ptr(), shaders.as_mut_ptr(), ); shaders.set_len(create_infos.len()); @@ -46,7 +46,7 @@ impl crate::ext::shader_object::Device { shader: vk::ShaderEXT, allocator: Option<&vk::AllocationCallbacks>, ) { - (self.fp.destroy_shader_ext)(self.handle, shader, allocator.as_raw_ptr()) + (self.fp.destroy_shader_ext)(self.handle, shader, allocator.to_raw_ptr()) } /// diff --git a/ash/src/extensions/khr/acceleration_structure.rs b/ash/src/extensions/khr/acceleration_structure.rs index f257c0d74..abc75a4da 100644 --- a/ash/src/extensions/khr/acceleration_structure.rs +++ b/ash/src/extensions/khr/acceleration_structure.rs @@ -18,7 +18,7 @@ impl crate::khr::acceleration_structure::Device { (self.fp.create_acceleration_structure_khr)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), accel_struct.as_mut_ptr(), ) .assume_init_on_success(accel_struct) @@ -34,7 +34,7 @@ impl crate::khr::acceleration_structure::Device { (self.fp.destroy_acceleration_structure_khr)( self.handle, accel_struct, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } diff --git a/ash/src/extensions/khr/android_surface.rs b/ash/src/extensions/khr/android_surface.rs index c5a7b3874..5819d0011 100755 --- a/ash/src/extensions/khr/android_surface.rs +++ b/ash/src/extensions/khr/android_surface.rs @@ -17,7 +17,7 @@ impl crate::khr::android_surface::Instance { (self.fp.create_android_surface_khr)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), surface.as_mut_ptr(), ) .assume_init_on_success(surface) diff --git a/ash/src/extensions/khr/create_renderpass2.rs b/ash/src/extensions/khr/create_renderpass2.rs index 2482dccca..067797126 100644 --- a/ash/src/extensions/khr/create_renderpass2.rs +++ b/ash/src/extensions/khr/create_renderpass2.rs @@ -17,7 +17,7 @@ impl crate::khr::create_renderpass2::Device { (self.fp.create_render_pass2_khr)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), renderpass.as_mut_ptr(), ) .assume_init_on_success(renderpass) diff --git a/ash/src/extensions/khr/deferred_host_operations.rs b/ash/src/extensions/khr/deferred_host_operations.rs index 3410b893c..dd119a00b 100644 --- a/ash/src/extensions/khr/deferred_host_operations.rs +++ b/ash/src/extensions/khr/deferred_host_operations.rs @@ -15,7 +15,7 @@ impl crate::khr::deferred_host_operations::Device { let mut operation = mem::MaybeUninit::uninit(); (self.fp.create_deferred_operation_khr)( self.handle, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), operation.as_mut_ptr(), ) .assume_init_on_success(operation) @@ -40,7 +40,7 @@ impl crate::khr::deferred_host_operations::Device { (self.fp.destroy_deferred_operation_khr)( self.handle, operation, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } diff --git a/ash/src/extensions/khr/display.rs b/ash/src/extensions/khr/display.rs index 211ce5ba6..05f68691d 100755 --- a/ash/src/extensions/khr/display.rs +++ b/ash/src/extensions/khr/display.rs @@ -73,7 +73,7 @@ impl crate::khr::display::Instance { physical_device, display, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), display_mode.as_mut_ptr(), ) .assume_init_on_success(display_mode) @@ -108,7 +108,7 @@ impl crate::khr::display::Instance { (self.fp.create_display_plane_surface_khr)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), surface.as_mut_ptr(), ) .assume_init_on_success(surface) diff --git a/ash/src/extensions/khr/display_swapchain.rs b/ash/src/extensions/khr/display_swapchain.rs index 3a6164ccd..08564c706 100755 --- a/ash/src/extensions/khr/display_swapchain.rs +++ b/ash/src/extensions/khr/display_swapchain.rs @@ -18,7 +18,7 @@ impl crate::khr::display_swapchain::Device { self.handle, create_infos.len() as u32, create_infos.as_ptr(), - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), swapchains.as_mut_ptr(), ) .set_vec_len_on_success(swapchains, create_infos.len()) diff --git a/ash/src/extensions/khr/ray_tracing_pipeline.rs b/ash/src/extensions/khr/ray_tracing_pipeline.rs index 709d48270..ebe22c6f1 100644 --- a/ash/src/extensions/khr/ray_tracing_pipeline.rs +++ b/ash/src/extensions/khr/ray_tracing_pipeline.rs @@ -51,7 +51,7 @@ impl crate::khr::ray_tracing_pipeline::Device { pipeline_cache, create_infos.len() as u32, create_infos.as_ptr(), - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), pipelines.as_mut_ptr(), ); pipelines.set_len(create_infos.len()); diff --git a/ash/src/extensions/khr/sampler_ycbcr_conversion.rs b/ash/src/extensions/khr/sampler_ycbcr_conversion.rs index fbf0af66c..2dd3c32b4 100644 --- a/ash/src/extensions/khr/sampler_ycbcr_conversion.rs +++ b/ash/src/extensions/khr/sampler_ycbcr_conversion.rs @@ -17,7 +17,7 @@ impl crate::khr::sampler_ycbcr_conversion::Device { (self.fp.create_sampler_ycbcr_conversion_khr)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ycbcr_conversion.as_mut_ptr(), ) .assume_init_on_success(ycbcr_conversion) @@ -33,7 +33,7 @@ impl crate::khr::sampler_ycbcr_conversion::Device { (self.fp.destroy_sampler_ycbcr_conversion_khr)( self.handle, ycbcr_conversion, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ) } } diff --git a/ash/src/extensions/khr/surface.rs b/ash/src/extensions/khr/surface.rs index 1d701fefd..0ad9c13d2 100755 --- a/ash/src/extensions/khr/surface.rs +++ b/ash/src/extensions/khr/surface.rs @@ -79,6 +79,6 @@ impl crate::khr::surface::Instance { surface: vk::SurfaceKHR, allocation_callbacks: Option<&vk::AllocationCallbacks>, ) { - (self.fp.destroy_surface_khr)(self.handle, surface, allocation_callbacks.as_raw_ptr()); + (self.fp.destroy_surface_khr)(self.handle, surface, allocation_callbacks.to_raw_ptr()); } } diff --git a/ash/src/extensions/khr/swapchain.rs b/ash/src/extensions/khr/swapchain.rs index f10e828f6..d71803da3 100755 --- a/ash/src/extensions/khr/swapchain.rs +++ b/ash/src/extensions/khr/swapchain.rs @@ -21,7 +21,7 @@ impl crate::khr::swapchain::Device { (self.fp.create_swapchain_khr)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), swapchain.as_mut_ptr(), ) .assume_init_on_success(swapchain) @@ -34,7 +34,7 @@ impl crate::khr::swapchain::Device { swapchain: vk::SwapchainKHR, allocation_callbacks: Option<&vk::AllocationCallbacks>, ) { - (self.fp.destroy_swapchain_khr)(self.handle, swapchain, allocation_callbacks.as_raw_ptr()); + (self.fp.destroy_swapchain_khr)(self.handle, swapchain, allocation_callbacks.to_raw_ptr()); } /// diff --git a/ash/src/extensions/khr/video_encode_queue.rs b/ash/src/extensions/khr/video_encode_queue.rs index 078f2406b..7c8007142 100644 --- a/ash/src/extensions/khr/video_encode_queue.rs +++ b/ash/src/extensions/khr/video_encode_queue.rs @@ -29,7 +29,7 @@ impl crate::khr::video_encode_queue::Device { (self.fp.get_encoded_video_session_parameters_khr)( self.handle, session_parameters_info, - feedback_info.as_raw_mut_ptr(), + feedback_info.to_raw_mut_ptr(), size.as_mut_ptr(), ptr::null_mut(), ) @@ -51,7 +51,7 @@ impl crate::khr::video_encode_queue::Device { (self.fp.get_encoded_video_session_parameters_khr)( self.handle, session_parameters_info, - feedback_info.as_raw_mut_ptr(), + feedback_info.to_raw_mut_ptr(), &mut size, out.as_mut_ptr() as _, ) diff --git a/ash/src/extensions/khr/video_queue.rs b/ash/src/extensions/khr/video_queue.rs index 9dc584071..43d47946c 100644 --- a/ash/src/extensions/khr/video_queue.rs +++ b/ash/src/extensions/khr/video_queue.rs @@ -69,7 +69,7 @@ impl crate::khr::video_queue::Device { (self.fp.create_video_session_khr)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), video_session.as_mut_ptr(), ) .assume_init_on_success(video_session) @@ -87,7 +87,7 @@ impl crate::khr::video_queue::Device { (self.fp.create_video_session_parameters_khr)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), video_session_parameters.as_mut_ptr(), ) .assume_init_on_success(video_session_parameters) @@ -104,7 +104,7 @@ impl crate::khr::video_queue::Device { (self.fp.destroy_video_session_khr)( self.handle, video_session, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ) } @@ -119,7 +119,7 @@ impl crate::khr::video_queue::Device { (self.fp.destroy_video_session_parameters_khr)( self.handle, video_session_parameters, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ) } diff --git a/ash/src/extensions/khr/wayland_surface.rs b/ash/src/extensions/khr/wayland_surface.rs index 32c907286..b3adb4078 100755 --- a/ash/src/extensions/khr/wayland_surface.rs +++ b/ash/src/extensions/khr/wayland_surface.rs @@ -17,7 +17,7 @@ impl crate::khr::wayland_surface::Instance { (self.fp.create_wayland_surface_khr)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), surface.as_mut_ptr(), ) .assume_init_on_success(surface) diff --git a/ash/src/extensions/khr/win32_surface.rs b/ash/src/extensions/khr/win32_surface.rs index 5908db512..3c0c1354d 100755 --- a/ash/src/extensions/khr/win32_surface.rs +++ b/ash/src/extensions/khr/win32_surface.rs @@ -17,7 +17,7 @@ impl crate::khr::win32_surface::Instance { (self.fp.create_win32_surface_khr)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), surface.as_mut_ptr(), ) .assume_init_on_success(surface) diff --git a/ash/src/extensions/khr/xcb_surface.rs b/ash/src/extensions/khr/xcb_surface.rs index dbc458a77..f4d9fa38f 100755 --- a/ash/src/extensions/khr/xcb_surface.rs +++ b/ash/src/extensions/khr/xcb_surface.rs @@ -17,7 +17,7 @@ impl crate::khr::xcb_surface::Instance { (self.fp.create_xcb_surface_khr)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), surface.as_mut_ptr(), ) .assume_init_on_success(surface) diff --git a/ash/src/extensions/khr/xlib_surface.rs b/ash/src/extensions/khr/xlib_surface.rs index e7e14b047..1d7f07a9e 100755 --- a/ash/src/extensions/khr/xlib_surface.rs +++ b/ash/src/extensions/khr/xlib_surface.rs @@ -17,7 +17,7 @@ impl crate::khr::xlib_surface::Instance { (self.fp.create_xlib_surface_khr)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), surface.as_mut_ptr(), ) .assume_init_on_success(surface) diff --git a/ash/src/extensions/mvk/ios_surface.rs b/ash/src/extensions/mvk/ios_surface.rs index ca5da8477..ce781b101 100755 --- a/ash/src/extensions/mvk/ios_surface.rs +++ b/ash/src/extensions/mvk/ios_surface.rs @@ -17,7 +17,7 @@ impl crate::mvk::ios_surface::Instance { (self.fp.create_ios_surface_mvk)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), surface.as_mut_ptr(), ) .assume_init_on_success(surface) diff --git a/ash/src/extensions/mvk/macos_surface.rs b/ash/src/extensions/mvk/macos_surface.rs index 728a9ca6b..f225d2d34 100755 --- a/ash/src/extensions/mvk/macos_surface.rs +++ b/ash/src/extensions/mvk/macos_surface.rs @@ -17,7 +17,7 @@ impl crate::mvk::macos_surface::Instance { (self.fp.create_mac_os_surface_mvk)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), surface.as_mut_ptr(), ) .assume_init_on_success(surface) diff --git a/ash/src/extensions/nn/vi_surface.rs b/ash/src/extensions/nn/vi_surface.rs index 3a6772ace..6b7946424 100644 --- a/ash/src/extensions/nn/vi_surface.rs +++ b/ash/src/extensions/nn/vi_surface.rs @@ -17,7 +17,7 @@ impl crate::nn::vi_surface::Instance { (self.fp.create_vi_surface_nn)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), surface.as_mut_ptr(), ) .assume_init_on_success(surface) diff --git a/ash/src/extensions/nv/cuda_kernel_launch.rs b/ash/src/extensions/nv/cuda_kernel_launch.rs index 9b907c07a..c9d5e7967 100644 --- a/ash/src/extensions/nv/cuda_kernel_launch.rs +++ b/ash/src/extensions/nv/cuda_kernel_launch.rs @@ -19,7 +19,7 @@ impl crate::nv::cuda_kernel_launch::Device { (self.fp.create_cuda_module_nv)( self.handle, create_info, - allocator.as_raw_ptr(), + allocator.to_raw_ptr(), module.as_mut_ptr(), ) .assume_init_on_success(module) @@ -44,7 +44,7 @@ impl crate::nv::cuda_kernel_launch::Device { (self.fp.create_cuda_function_nv)( self.handle, create_info, - allocator.as_raw_ptr(), + allocator.to_raw_ptr(), function.as_mut_ptr(), ) .assume_init_on_success(function) @@ -57,7 +57,7 @@ impl crate::nv::cuda_kernel_launch::Device { module: vk::CudaModuleNV, allocator: Option<&vk::AllocationCallbacks>, ) { - (self.fp.destroy_cuda_module_nv)(self.handle, module, allocator.as_raw_ptr()) + (self.fp.destroy_cuda_module_nv)(self.handle, module, allocator.to_raw_ptr()) } /// @@ -67,7 +67,7 @@ impl crate::nv::cuda_kernel_launch::Device { function: vk::CudaFunctionNV, allocator: Option<&vk::AllocationCallbacks>, ) { - (self.fp.destroy_cuda_function_nv)(self.handle, function, allocator.as_raw_ptr()) + (self.fp.destroy_cuda_function_nv)(self.handle, function, allocator.to_raw_ptr()) } /// diff --git a/ash/src/extensions/nv/low_latency2.rs b/ash/src/extensions/nv/low_latency2.rs index 84beec4c8..9017c1ae3 100644 --- a/ash/src/extensions/nv/low_latency2.rs +++ b/ash/src/extensions/nv/low_latency2.rs @@ -12,7 +12,7 @@ impl crate::nv::low_latency2::Device { swapchain: vk::SwapchainKHR, sleep_mode_info: Option<&vk::LatencySleepModeInfoNV<'_>>, ) -> VkResult<()> { - (self.fp.set_latency_sleep_mode_nv)(self.handle, swapchain, sleep_mode_info.as_raw_ptr()) + (self.fp.set_latency_sleep_mode_nv)(self.handle, swapchain, sleep_mode_info.to_raw_ptr()) .result() } diff --git a/ash/src/extensions/nv/ray_tracing.rs b/ash/src/extensions/nv/ray_tracing.rs index 4d37a513c..ebaa871af 100755 --- a/ash/src/extensions/nv/ray_tracing.rs +++ b/ash/src/extensions/nv/ray_tracing.rs @@ -19,7 +19,7 @@ impl crate::nv::ray_tracing::Device { (self.fp.create_acceleration_structure_nv)( self.handle, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), accel_struct.as_mut_ptr(), ) .assume_init_on_success(accel_struct) @@ -35,7 +35,7 @@ impl crate::nv::ray_tracing::Device { (self.fp.destroy_acceleration_structure_nv)( self.handle, accel_struct, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), ); } @@ -164,7 +164,7 @@ impl crate::nv::ray_tracing::Device { pipeline_cache, create_infos.len() as u32, create_infos.as_ptr(), - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), pipelines.as_mut_ptr(), ); pipelines.set_len(create_infos.len()); diff --git a/ash/src/instance.rs b/ash/src/instance.rs index 1cb9f2036..eb02a82b2 100644 --- a/ash/src/instance.rs +++ b/ash/src/instance.rs @@ -370,7 +370,7 @@ impl Instance { let device = (self.instance_fn_1_0.create_device)( physical_device, create_info, - allocation_callbacks.as_raw_ptr(), + allocation_callbacks.to_raw_ptr(), device.as_mut_ptr(), ) .assume_init_on_success(device)?; @@ -390,7 +390,7 @@ impl Instance { /// #[inline] pub unsafe fn destroy_instance(&self, allocation_callbacks: Option<&vk::AllocationCallbacks>) { - (self.instance_fn_1_0.destroy_instance)(self.handle(), allocation_callbacks.as_raw_ptr()); + (self.instance_fn_1_0.destroy_instance)(self.handle(), allocation_callbacks.to_raw_ptr()); } /// diff --git a/ash/src/lib.rs b/ash/src/lib.rs index 6049fc580..d9e2567f2 100644 --- a/ash/src/lib.rs +++ b/ash/src/lib.rs @@ -83,12 +83,12 @@ pub mod vk; mod extensions; pub trait RawPtr { - fn as_raw_ptr(&self) -> *const T; + fn to_raw_ptr(self) -> *const T; } impl RawPtr for Option<&T> { - fn as_raw_ptr(&self) -> *const T { - match *self { + fn to_raw_ptr(self) -> *const T { + match self { Some(inner) => inner, None => ptr::null(), } @@ -96,11 +96,11 @@ impl RawPtr for Option<&T> { } pub trait RawMutPtr { - unsafe fn as_raw_mut_ptr(self) -> *mut T; + unsafe fn to_raw_mut_ptr(self) -> *mut T; } impl RawMutPtr for Option<&mut T> { - unsafe fn as_raw_mut_ptr(self) -> *mut T { + unsafe fn to_raw_mut_ptr(self) -> *mut T { match self { Some(inner) => inner, None => ptr::null_mut(),