From: Josh Simmons Date: Sat, 30 Nov 2024 09:01:24 +0000 (+0100) Subject: vulkan-sys: Avoid laundering unsafe in `vk_check` X-Git-Url: https://git.nega.tv//gitweb.cgi?a=commitdiff_plain;h=b8b8c43a3fcadbce51c48bae252fabe193b2b881;p=josh%2Fnarcissus vulkan-sys: Avoid laundering unsafe in `vk_check` --- diff --git a/external/vulkan-sys/examples/triangle.rs b/external/vulkan-sys/examples/triangle.rs index 720271e..5e66393 100644 --- a/external/vulkan-sys/examples/triangle.rs +++ b/external/vulkan-sys/examples/triangle.rs @@ -16,15 +16,13 @@ mod libc { macro_rules! vk_check { ($e:expr) => ({ - #[allow(unused_unsafe)] - let e = unsafe { $e }; + let e = $e; if e != vulkan_sys::Result::Success { panic!("assertion failed: `result == vk::Result::Success`: \n value: `{:?}`", e); } }); ($e:expr, $($msg_args:tt)+) => ({ - #[allow(unused_unsafe)] - let e = unsafe { $e }; + let e = $e; if e != vulkan_sys::::Result::Success { panic!("assertion failed: `result == vk::Result::Success`: \n value: `{:?}: {}`", e, format_args!($($msg_args)+)); } @@ -87,7 +85,7 @@ pub fn main() { ..default() }; let mut instance = vk::Instance::null(); - vk_check!(global_fn.create_instance(&create_info, None, &mut instance)); + vk_check!(unsafe { global_fn.create_instance(&create_info, None, &mut instance) }); instance }; @@ -197,7 +195,9 @@ pub fn main() { ..default() }; let mut device = vk::Device::null(); - vk_check!(instance_fn.create_device(physical_device, &create_info, None, &mut device)); + vk_check!(unsafe { + instance_fn.create_device(physical_device, &create_info, None, &mut device) + }); device }; @@ -232,7 +232,9 @@ pub fn main() { ..default() }; let mut shader_module = vk::ShaderModule::null(); - vk_check!(device_fn.create_shader_module(device, &create_info, None, &mut shader_module)); + vk_check!(unsafe { + device_fn.create_shader_module(device, &create_info, None, &mut shader_module) + }); shader_module }; @@ -243,12 +245,9 @@ pub fn main() { let layout = { let create_info = vk::PipelineLayoutCreateInfo::default(); let mut pipeline_layout = vk::PipelineLayout::null(); - vk_check!(device_fn.create_pipeline_layout( - device, - &create_info, - None, - &mut pipeline_layout - )); + vk_check!(unsafe { + device_fn.create_pipeline_layout(device, &create_info, None, &mut pipeline_layout) + }); pipeline_layout }; @@ -351,7 +350,9 @@ pub fn main() { ..default() }; let mut command_pool = vk::CommandPool::default(); - vk_check!(device_fn.create_command_pool(device, &create_info, None, &mut command_pool)); + vk_check!(unsafe { + device_fn.create_command_pool(device, &create_info, None, &mut command_pool) + }); command_pool }; @@ -392,7 +393,7 @@ pub fn main() { ..default() }; let mut image = vk::Image::null(); - vk_check!(device_fn.create_image(device, &create_info, None, &mut image)); + vk_check!(unsafe { device_fn.create_image(device, &create_info, None, &mut image) }); let memory_requirements = { let mut memory_requirements = vk::MemoryRequirements2::default(); @@ -412,16 +413,18 @@ pub fn main() { ); let mut memory = vk::DeviceMemory::null(); - vk_check!(device_fn.allocate_memory( - device, - &vk::MemoryAllocateInfo { - allocation_size: memory_requirements.memory_requirements.size, - memory_type_index, - ..default() - }, - None, - &mut memory, - )); + vk_check!(unsafe { + device_fn.allocate_memory( + device, + &vk::MemoryAllocateInfo { + allocation_size: memory_requirements.memory_requirements.size, + memory_type_index, + ..default() + }, + None, + &mut memory, + ) + }); unsafe { device_fn.bind_image_memory2( device, @@ -459,7 +462,7 @@ pub fn main() { }, ..default() }; - vk_check!(device_fn.create_image_view(device, &create_info, None, &mut view)); + vk_check!(unsafe { device_fn.create_image_view(device, &create_info, None, &mut view) }); (image, view, memory) }; @@ -513,14 +516,16 @@ pub fn main() { }; let mut data = std::ptr::null_mut(); - vk_check!(device_fn.map_memory( - device, - host_image_memory, - 0, - vk::WHOLE_SIZE, - vk::MemoryMapFlags::default(), - &mut data, - )); + vk_check!(unsafe { + device_fn.map_memory( + device, + host_image_memory, + 0, + vk::WHOLE_SIZE, + vk::MemoryMapFlags::default(), + &mut data, + ) + }); // Do the rendering! let command_buffer = { @@ -530,11 +535,9 @@ pub fn main() { command_buffer_count: command_buffers.len() as u32, ..default() }; - vk_check!(device_fn.allocate_command_buffers( - device, - &allocate_info, - command_buffers.as_mut_ptr() - )); + vk_check!(unsafe { + device_fn.allocate_command_buffers(device, &allocate_info, command_buffers.as_mut_ptr()) + }); command_buffers[0] }; @@ -543,7 +546,7 @@ pub fn main() { flags: vk::CommandBufferUsageFlags::ONE_TIME_SUBMIT, ..default() }; - vk_check!(device_fn.begin_command_buffer(command_buffer, &begin_info)); + vk_check!(unsafe { device_fn.begin_command_buffer(command_buffer, &begin_info) }); } unsafe { @@ -719,7 +722,7 @@ pub fn main() { ) }; - vk_check!(device_fn.end_command_buffer(command_buffer)); + vk_check!(unsafe { device_fn.end_command_buffer(command_buffer) }); // SUBMIT! semaphore_value += 1; @@ -739,16 +742,18 @@ pub fn main() { signal_semaphore_infos: signal_semaphore_infos.into(), ..default() }; - vk_check!(device_fn.queue_submit2(queue, &[submit], vk::Fence::null())); + vk_check!(unsafe { device_fn.queue_submit2(queue, &[submit], vk::Fence::null()) }); - vk_check!(device_fn.wait_semaphores( - device, - &vk::SemaphoreWaitInfo { - semaphores: (&[semaphore], &[semaphore_value]).into(), - ..default() - }, - !0, - )); + vk_check!(unsafe { + device_fn.wait_semaphores( + device, + &vk::SemaphoreWaitInfo { + semaphores: (&[semaphore], &[semaphore_value]).into(), + ..default() + }, + !0, + ) + }); let data = data as *const u8; let image_bytes = unsafe {