pub trait DeviceInterface: CommonTraits {
Show 28 methods
// Required methods
fn features(&self) -> Features;
fn limits(&self) -> Limits;
fn create_shader_module(
&self,
desc: ShaderModuleDescriptor<'_>,
shader_bound_checks: ShaderRuntimeChecks,
) -> DispatchShaderModule;
unsafe fn create_shader_module_spirv(
&self,
desc: &ShaderModuleDescriptorSpirV<'_>,
) -> DispatchShaderModule;
fn create_bind_group_layout(
&self,
desc: &BindGroupLayoutDescriptor<'_>,
) -> DispatchBindGroupLayout;
fn create_bind_group(
&self,
desc: &BindGroupDescriptor<'_>,
) -> DispatchBindGroup;
fn create_pipeline_layout(
&self,
desc: &PipelineLayoutDescriptor<'_>,
) -> DispatchPipelineLayout;
fn create_render_pipeline(
&self,
desc: &RenderPipelineDescriptor<'_>,
) -> DispatchRenderPipeline;
fn create_compute_pipeline(
&self,
desc: &ComputePipelineDescriptor<'_>,
) -> DispatchComputePipeline;
unsafe fn create_pipeline_cache(
&self,
desc: &PipelineCacheDescriptor<'_>,
) -> DispatchPipelineCache;
fn create_buffer(&self, desc: &BufferDescriptor<'_>) -> DispatchBuffer;
fn create_texture(&self, desc: &TextureDescriptor<'_>) -> DispatchTexture;
fn create_blas(
&self,
desc: &CreateBlasDescriptor<'_>,
sizes: BlasGeometrySizeDescriptors,
) -> (Option<u64>, DispatchBlas);
fn create_tlas(&self, desc: &CreateTlasDescriptor<'_>) -> DispatchTlas;
fn create_sampler(&self, desc: &SamplerDescriptor<'_>) -> DispatchSampler;
fn create_query_set(
&self,
desc: &QuerySetDescriptor<'_>,
) -> DispatchQuerySet;
fn create_command_encoder(
&self,
desc: &CommandEncoderDescriptor<'_>,
) -> DispatchCommandEncoder;
fn create_render_bundle_encoder(
&self,
desc: &RenderBundleEncoderDescriptor<'_>,
) -> DispatchRenderBundleEncoder;
fn set_device_lost_callback(
&self,
device_lost_callback: Box<dyn FnOnce(DeviceLostReason, String) + Send + 'static>,
);
fn on_uncaptured_error(&self, handler: Box<dyn UncapturedErrorHandler>);
fn push_error_scope(&self, filter: ErrorFilter);
fn pop_error_scope(&self) -> Pin<Box<dyn PopErrorScopeFuture>>;
fn start_capture(&self);
fn stop_capture(&self);
fn poll(&self, maintain: Maintain) -> MaintainResult;
fn get_internal_counters(&self) -> InternalCounters;
fn generate_allocator_report(&self) -> Option<AllocatorReport>;
fn destroy(&self);
}
Required Methods§
fn features(&self) -> Features
fn limits(&self) -> Limits
fn create_shader_module( &self, desc: ShaderModuleDescriptor<'_>, shader_bound_checks: ShaderRuntimeChecks, ) -> DispatchShaderModule
unsafe fn create_shader_module_spirv( &self, desc: &ShaderModuleDescriptorSpirV<'_>, ) -> DispatchShaderModule
fn create_bind_group_layout( &self, desc: &BindGroupLayoutDescriptor<'_>, ) -> DispatchBindGroupLayout
fn create_bind_group(&self, desc: &BindGroupDescriptor<'_>) -> DispatchBindGroup
fn create_pipeline_layout( &self, desc: &PipelineLayoutDescriptor<'_>, ) -> DispatchPipelineLayout
fn create_render_pipeline( &self, desc: &RenderPipelineDescriptor<'_>, ) -> DispatchRenderPipeline
fn create_compute_pipeline( &self, desc: &ComputePipelineDescriptor<'_>, ) -> DispatchComputePipeline
unsafe fn create_pipeline_cache( &self, desc: &PipelineCacheDescriptor<'_>, ) -> DispatchPipelineCache
fn create_buffer(&self, desc: &BufferDescriptor<'_>) -> DispatchBuffer
fn create_texture(&self, desc: &TextureDescriptor<'_>) -> DispatchTexture
fn create_blas( &self, desc: &CreateBlasDescriptor<'_>, sizes: BlasGeometrySizeDescriptors, ) -> (Option<u64>, DispatchBlas)
fn create_tlas(&self, desc: &CreateTlasDescriptor<'_>) -> DispatchTlas
fn create_sampler(&self, desc: &SamplerDescriptor<'_>) -> DispatchSampler
fn create_query_set(&self, desc: &QuerySetDescriptor<'_>) -> DispatchQuerySet
fn create_command_encoder( &self, desc: &CommandEncoderDescriptor<'_>, ) -> DispatchCommandEncoder
fn create_render_bundle_encoder( &self, desc: &RenderBundleEncoderDescriptor<'_>, ) -> DispatchRenderBundleEncoder
fn set_device_lost_callback( &self, device_lost_callback: Box<dyn FnOnce(DeviceLostReason, String) + Send + 'static>, )
fn on_uncaptured_error(&self, handler: Box<dyn UncapturedErrorHandler>)
fn push_error_scope(&self, filter: ErrorFilter)
fn pop_error_scope(&self) -> Pin<Box<dyn PopErrorScopeFuture>>
fn start_capture(&self)
fn stop_capture(&self)
fn poll(&self, maintain: Maintain) -> MaintainResult
fn get_internal_counters(&self) -> InternalCounters
fn generate_allocator_report(&self) -> Option<AllocatorReport>
fn destroy(&self)
Implementors§
impl DeviceInterface for CoreDevice
Available on
wgpu_core
only.