Trait DeviceInterface
pub trait DeviceInterface: CommonTraits {
Show 31 methods
// Required methods
fn features(&self) -> Features;
fn limits(&self) -> Limits;
fn adapter_info(&self) -> AdapterInfo;
fn create_shader_module(
&self,
desc: ShaderModuleDescriptor<'_>,
shader_bound_checks: ShaderRuntimeChecks,
) -> DispatchShaderModule;
unsafe fn create_shader_module_passthrough(
&self,
desc: &CreateShaderModuleDescriptorPassthrough<'_, Option<&str>>,
) -> 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_mesh_pipeline(
&self,
desc: &MeshPipelineDescriptor<'_>,
) -> DispatchRenderPipeline;
fn create_compute_pipeline(
&self,
desc: &ComputePipelineDescriptor<'_>,
) -> DispatchComputePipeline;
unsafe fn create_pipeline_cache(
&self,
desc: &PipelineCacheDescriptor<'_>,
) -> DispatchPipelineCache;
fn create_buffer(
&self,
desc: &BufferDescriptor<Option<&str>>,
) -> DispatchBuffer;
fn create_texture(
&self,
desc: &TextureDescriptor<Option<&str>, &[TextureFormat]>,
) -> DispatchTexture;
fn create_external_texture(
&self,
desc: &ExternalTextureDescriptor<Option<&str>>,
planes: &[&TextureView],
) -> DispatchExternalTexture;
fn create_blas(
&self,
desc: &CreateBlasDescriptor<Option<&str>>,
sizes: BlasGeometrySizeDescriptors,
) -> (Option<u64>, DispatchBlas);
fn create_tlas(
&self,
desc: &CreateTlasDescriptor<Option<&str>>,
) -> DispatchTlas;
fn create_sampler(
&self,
desc: &SamplerDescriptor<Option<&str>>,
) -> DispatchSampler;
fn create_query_set(
&self,
desc: &QuerySetDescriptor<Option<&str>>,
) -> DispatchQuerySet;
fn create_command_encoder(
&self,
desc: &CommandEncoderDescriptor<Option<&str>>,
) -> 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>,
);
fn on_uncaptured_error(
&self,
handler: Arc<dyn UncapturedErrorHandler<Output = ()>>,
);
fn push_error_scope(&self, filter: ErrorFilter) -> u32;
fn pop_error_scope(
&self,
index: u32,
) -> Pin<Box<dyn PopErrorScopeFuture<Output = Option<Error>>>>;
unsafe fn start_graphics_debugger_capture(&self);
unsafe fn stop_graphics_debugger_capture(&self);
fn poll(&self, poll_type: PollType<u64>) -> Result<PollStatus, PollError>;
fn get_internal_counters(&self) -> InternalCounters;
fn generate_allocator_report(&self) -> Option<AllocatorReport>;
fn destroy(&self);
}