pub struct Context;
Trait Implementations§
source§impl Adapter<Api> for Context
impl Adapter<Api> for Context
unsafe fn open( &self, features: Features, _limits: &Limits ) -> Result<OpenDevice<Api>, DeviceError>
source§unsafe fn texture_format_capabilities(
&self,
format: TextureFormat
) -> TextureFormatCapabilities
unsafe fn texture_format_capabilities( &self, format: TextureFormat ) -> TextureFormatCapabilities
Return the set of supported capabilities for a texture format.
source§unsafe fn surface_capabilities(
&self,
surface: &Context
) -> Option<SurfaceCapabilities>
unsafe fn surface_capabilities( &self, surface: &Context ) -> Option<SurfaceCapabilities>
Returns the capabilities of working with a specified surface. Read more
source§unsafe fn get_presentation_timestamp(&self) -> PresentationTimestamp
unsafe fn get_presentation_timestamp(&self) -> PresentationTimestamp
Creates a
PresentationTimestamp
using the adapter’s WSI.source§impl Device<Api> for Context
impl Device<Api> for Context
source§unsafe fn create_buffer(
&self,
desc: &BufferDescriptor<'_>
) -> Result<Resource, DeviceError>
unsafe fn create_buffer( &self, desc: &BufferDescriptor<'_> ) -> Result<Resource, DeviceError>
Creates a new buffer. Read more
unsafe fn destroy_buffer(&self, buffer: Resource)
unsafe fn map_buffer( &self, buffer: &Resource, range: Range<u64> ) -> Result<BufferMapping, DeviceError>
unsafe fn unmap_buffer(&self, buffer: &Resource) -> Result<(), DeviceError>
unsafe fn flush_mapped_ranges<I>(&self, buffer: &Resource, ranges: I)
unsafe fn invalidate_mapped_ranges<I>(&self, buffer: &Resource, ranges: I)
source§unsafe fn create_texture(
&self,
desc: &TextureDescriptor<'_>
) -> Result<Resource, DeviceError>
unsafe fn create_texture( &self, desc: &TextureDescriptor<'_> ) -> Result<Resource, DeviceError>
Creates a new texture. Read more
unsafe fn destroy_texture(&self, texture: Resource)
unsafe fn create_texture_view( &self, texture: &Resource, desc: &TextureViewDescriptor<'_> ) -> Result<Resource, DeviceError>
unsafe fn destroy_texture_view(&self, view: Resource)
unsafe fn create_sampler( &self, desc: &SamplerDescriptor<'_> ) -> Result<Resource, DeviceError>
unsafe fn destroy_sampler(&self, sampler: Resource)
unsafe fn create_command_encoder( &self, desc: &CommandEncoderDescriptor<'_, Api> ) -> Result<Encoder, DeviceError>
unsafe fn destroy_command_encoder(&self, encoder: Encoder)
source§unsafe fn create_bind_group_layout(
&self,
desc: &BindGroupLayoutDescriptor<'_>
) -> Result<Resource, DeviceError>
unsafe fn create_bind_group_layout( &self, desc: &BindGroupLayoutDescriptor<'_> ) -> Result<Resource, DeviceError>
Creates a bind group layout.
unsafe fn destroy_bind_group_layout(&self, bg_layout: Resource)
unsafe fn create_pipeline_layout( &self, desc: &PipelineLayoutDescriptor<'_, Api> ) -> Result<Resource, DeviceError>
unsafe fn destroy_pipeline_layout(&self, pipeline_layout: Resource)
unsafe fn create_bind_group( &self, desc: &BindGroupDescriptor<'_, Api> ) -> Result<Resource, DeviceError>
unsafe fn destroy_bind_group(&self, group: Resource)
unsafe fn create_shader_module( &self, desc: &ShaderModuleDescriptor<'_>, shader: ShaderInput<'_> ) -> Result<Resource, ShaderError>
unsafe fn destroy_shader_module(&self, module: Resource)
unsafe fn create_render_pipeline( &self, desc: &RenderPipelineDescriptor<'_, Api> ) -> Result<Resource, PipelineError>
unsafe fn destroy_render_pipeline(&self, pipeline: Resource)
unsafe fn create_compute_pipeline( &self, desc: &ComputePipelineDescriptor<'_, Api> ) -> Result<Resource, PipelineError>
unsafe fn destroy_compute_pipeline(&self, pipeline: Resource)
unsafe fn create_query_set( &self, desc: &QuerySetDescriptor<Option<&str>> ) -> Result<Resource, DeviceError>
unsafe fn destroy_query_set(&self, set: Resource)
unsafe fn create_fence(&self) -> Result<Resource, DeviceError>
unsafe fn destroy_fence(&self, fence: Resource)
unsafe fn get_fence_value(&self, fence: &Resource) -> Result<u64, DeviceError>
source§unsafe fn wait(
&self,
fence: &Resource,
value: u64,
timeout_ms: u32
) -> Result<bool, DeviceError>
unsafe fn wait( &self, fence: &Resource, value: u64, timeout_ms: u32 ) -> Result<bool, DeviceError>
Calling wait with a lower value than the current fence value will immediately return.
unsafe fn start_capture(&self) -> bool
unsafe fn stop_capture(&self)
unsafe fn create_acceleration_structure( &self, desc: &AccelerationStructureDescriptor<'_> ) -> Result<Resource, DeviceError>
unsafe fn get_acceleration_structure_build_sizes<'a>( &self, _desc: &GetAccelerationStructureBuildSizesDescriptor<'a, Api> ) -> AccelerationStructureBuildSizes
unsafe fn get_acceleration_structure_device_address( &self, _acceleration_structure: &Resource ) -> u64
unsafe fn destroy_acceleration_structure( &self, _acceleration_structure: Resource )
source§impl Instance<Api> for Context
impl Instance<Api> for Context
unsafe fn init(desc: &InstanceDescriptor<'_>) -> Result<Context, InstanceError>
unsafe fn create_surface( &self, _display_handle: RawDisplayHandle, _window_handle: RawWindowHandle ) -> Result<Context, InstanceError>
unsafe fn destroy_surface(&self, surface: Context)
unsafe fn enumerate_adapters(&self) -> Vec<ExposedAdapter<Api>>
source§impl Queue<Api> for Context
impl Queue<Api> for Context
source§unsafe fn submit(
&self,
command_buffers: &[&Resource],
signal_fence: Option<(&mut Resource, u64)>
) -> Result<(), DeviceError>
unsafe fn submit( &self, command_buffers: &[&Resource], signal_fence: Option<(&mut Resource, u64)> ) -> Result<(), DeviceError>
Submits the command buffers for execution on GPU. Read more
unsafe fn present( &self, surface: &Context, texture: Resource ) -> Result<(), SurfaceError>
unsafe fn get_timestamp_period(&self) -> f32
source§impl Surface<Api> for Context
impl Surface<Api> for Context
source§unsafe fn configure(
&self,
device: &Context,
config: &SurfaceConfiguration
) -> Result<(), SurfaceError>
unsafe fn configure( &self, device: &Context, config: &SurfaceConfiguration ) -> Result<(), SurfaceError>
Configures the surface to use the given device. Read more
source§unsafe fn unconfigure(&self, device: &Context)
unsafe fn unconfigure(&self, device: &Context)
Unconfigures the surface on the given device. Read more
source§unsafe fn acquire_texture(
&self,
timeout: Option<Duration>
) -> Result<Option<AcquiredSurfaceTexture<Api>>, SurfaceError>
unsafe fn acquire_texture( &self, timeout: Option<Duration> ) -> Result<Option<AcquiredSurfaceTexture<Api>>, SurfaceError>
Returns the next texture to be presented by the swapchain for drawing Read more
unsafe fn discard_texture(&self, texture: Resource)
Auto Trait Implementations§
impl Freeze for Context
impl RefUnwindSafe for Context
impl Send for Context
impl Sync for Context
impl Unpin for Context
impl UnwindSafe for Context
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
source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Performs the conversion.
source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Performs the conversion.
source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.