Skip to main content

GpuContext

Struct GpuContext 

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

GPU context holding device and queue.

This is the main entry point for GPU operations. It manages the WGPU device and queue, and provides methods for creating buffers, pipelines, and executing compute shaders.

Implementations§

Source§

impl GpuContext

Source

pub async fn new() -> GpuResult<Self>

Create a new GPU context with default configuration.

§Errors

Returns an error if no suitable GPU adapter is found or device request fails.

Source

pub async fn with_config(config: GpuContextConfig) -> GpuResult<Self>

Create a new GPU context with custom configuration.

§Errors

Returns an error if no suitable GPU adapter is found or device request fails.

Source

pub fn device(&self) -> &Device

Get the WGPU device.

Source

pub fn queue(&self) -> &Queue

Get the WGPU queue.

Source

pub fn adapter(&self) -> &Adapter

Get the WGPU adapter.

Source

pub fn instance(&self) -> &Instance

Get the WGPU instance.

Source

pub fn adapter_info(&self) -> &AdapterInfo

Get adapter information.

Source

pub fn limits(&self) -> &Limits

Get device limits.

Source

pub fn backend(&self) -> Backend

Get the backend being used.

Source

pub fn supports_feature(&self, feature: Features) -> bool

Check if the device supports a specific feature.

Source

pub fn max_workgroup_size(&self) -> (u32, u32, u32)

Get maximum workgroup size for compute shaders.

Source

pub fn poll(&self, _wait: bool)

Poll the device for completed operations.

This should be called periodically to process GPU operations.

Source

pub fn is_valid(&self) -> bool

Check if the device is still valid.

Trait Implementations§

Source§

impl Clone for GpuContext

Source§

fn clone(&self) -> GpuContext

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for GpuContext

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. 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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,