pub struct Instance {
pub raw: Arc<RawInstance>,
pub extensions: Vec<&'static CStr>,
pub entry: Entry,
}Fields§
§raw: Arc<RawInstance>§extensions: Vec<&'static CStr>Supported extensions of this instance.
entry: EntryImplementations§
Source§impl Instance
impl Instance
pub fn create_surface_from_xlib( &self, dpy: *mut Display, window: Window, ) -> Surface
pub fn create_surface_from_xcb( &self, connection: *mut xcb_connection_t, window: xcb_window_t, ) -> Surface
pub fn create_surface_from_wayland( &self, display: *mut c_void, surface: *mut c_void, ) -> Surface
pub fn create_surface_from_vk_surface_khr(&self, surface: SurfaceKHR) -> Surface
Source§impl Instance
impl Instance
pub fn required_extensions( entry: &Entry, driver_api_version: Version, ) -> Result<Vec<&'static CStr>, UnsupportedBackend>
pub fn required_layers( entry: &Entry, ) -> Result<Vec<&'static CStr>, UnsupportedBackend>
Sourcepub unsafe fn from_raw(
entry: Entry,
raw_instance: Instance,
driver_api_version: Version,
extensions: Vec<&'static CStr>,
) -> Result<Self, UnsupportedBackend>
pub unsafe fn from_raw( entry: Entry, raw_instance: Instance, driver_api_version: Version, extensions: Vec<&'static CStr>, ) -> Result<Self, UnsupportedBackend>
§Safety
raw_instance must be created using at least the extensions provided by Instance::required_extensions()
and the layers provided by Instance::required_extensions().
driver_api_version must match the version used to create raw_instance.
extensions must match the extensions used to create raw_instance.
raw_instance must be manually destroyed after gfx-hal Instance has been dropped.
Sourcepub unsafe fn adapter_from_raw(
&self,
raw_physical_device: PhysicalDevice,
) -> Adapter<Backend>
pub unsafe fn adapter_from_raw( &self, raw_physical_device: PhysicalDevice, ) -> Adapter<Backend>
§Safety
raw_physical_device must be created from self (or from the inner raw handle)
Trait Implementations§
Source§impl Instance<Backend> for Instance
impl Instance<Backend> for Instance
Source§fn create(name: &str, version: u32) -> Result<Self, UnsupportedBackend>
fn create(name: &str, version: u32) -> Result<Self, UnsupportedBackend>
Create a new instance. Read more
Source§fn enumerate_adapters(&self) -> Vec<Adapter<Backend>>
fn enumerate_adapters(&self) -> Vec<Adapter<Backend>>
Return all available graphics adapters.
Source§unsafe fn create_surface(
&self,
has_handle: &impl HasRawWindowHandle,
) -> Result<Surface, InitError>
unsafe fn create_surface( &self, has_handle: &impl HasRawWindowHandle, ) -> Result<Surface, InitError>
Source§unsafe fn destroy_surface(&self, surface: Surface)
unsafe fn destroy_surface(&self, surface: Surface)
Destroy a surface, freeing the resources associated with it and
releasing it from this graphics API. Read more
Source§unsafe fn create_display_plane_surface(
&self,
display_plane: &DisplayPlane<'_, Backend>,
plane_stack_index: u32,
transformation: SurfaceTransform,
alpha: DisplayPlaneAlpha,
image_extent: Extent2D,
) -> Result<Surface, DisplayPlaneSurfaceError>
unsafe fn create_display_plane_surface( &self, display_plane: &DisplayPlane<'_, Backend>, plane_stack_index: u32, transformation: SurfaceTransform, alpha: DisplayPlaneAlpha, image_extent: Extent2D, ) -> Result<Surface, DisplayPlaneSurfaceError>
Auto Trait Implementations§
impl Freeze for Instance
impl RefUnwindSafe for Instance
impl Send for Instance
impl Sync for Instance
impl Unpin for Instance
impl UnsafeUnpin for Instance
impl UnwindSafe for Instance
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more