use crate::common::*;
use crate::Metal;
#[allow(dead_code)]
fn slice_to_ptr_count<T>(slice: &[T]) -> (NonNull<T>, usize) {
let ptr: *const T = slice.as_ptr();
let ptr: *mut T = ptr as *mut T;
let ptr = unsafe { NonNull::new_unchecked(ptr) };
(ptr, slice.len())
}
#[cfg(feature = "Metal_MTLRenderCommandEncoder")]
impl Metal::MTLRenderCommandEncoder {
#[cfg(feature = "Metal_MTLViewport")]
pub unsafe fn setViewports(&self, viewports: &[Metal::MTLViewport]) {
let (ptr, count) = slice_to_ptr_count(viewports);
unsafe { self.setViewports_count(ptr, count) }
}
}