Skip to main content

Instance

Struct Instance 

Source
pub struct Instance { /* private fields */ }
Expand description

the GPU API of the system (Vulkan); create adapters and surfaces from it

Implementations§

Source§

impl Instance

Source

pub fn new() -> Result<Instance>

the system’s GPU API with the default settings

Source

pub fn with(desc: &InstanceDesc<'_>) -> Result<Instance>

Source

pub fn validating(&self) -> bool

the validation layer is active on this instance

Source

pub fn adapters(&self) -> Result<Vec<Adapter>>

every GPU of the system, discrete ones first (AdapterInfo::missing: unusable ones)

Source

pub fn prepare(&self) -> Result<bool>

(the browser: adapter and device come asynchronously; here they are there)

Source

pub fn adapter(&self) -> Result<Adapter>

the adapter to use: jfgui_GPU_ADAPTER (index or name part), else the first usable one

Source

pub fn adapters_low_power( &self, display: Option<(u32, u32)>, ) -> Result<Vec<Adapter>>

the adapters for showing windows without waking more hardware than needed, the most frugal first: only integrated and discrete GPUs (a CPU or virtual adapter is no gain over the CPU path), the one that drives the display (vendor id, device id) before the others, integrated before discrete. jfgui_GPU_ADAPTER picks one as in adapter(). Programs that want a GPU for themselves keep adapter().

Trait Implementations§

Source§

impl Clone for Instance

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.