pub trait GPUDeviceMethods<D: DomTypes> {
Show 24 methods
// Required methods
fn Features(&self) -> DomRoot<D::GPUSupportedFeatures>;
fn Limits(&self) -> DomRoot<D::GPUSupportedLimits>;
fn GetQueue(&self) -> DomRoot<D::GPUQueue>;
fn Destroy(&self);
fn CreateBuffer(
&self,
descriptor: &GPUBufferDescriptor,
) -> Fallible<DomRoot<D::GPUBuffer>>;
fn CreateTexture(
&self,
descriptor: &GPUTextureDescriptor,
) -> Fallible<DomRoot<D::GPUTexture>>;
fn CreateSampler(
&self,
descriptor: &GPUSamplerDescriptor,
) -> DomRoot<D::GPUSampler>;
fn CreateBindGroupLayout(
&self,
descriptor: &GPUBindGroupLayoutDescriptor,
) -> Fallible<DomRoot<D::GPUBindGroupLayout>>;
fn CreatePipelineLayout(
&self,
descriptor: &GPUPipelineLayoutDescriptor<D>,
) -> DomRoot<D::GPUPipelineLayout>;
fn CreateBindGroup(
&self,
descriptor: &GPUBindGroupDescriptor<D>,
) -> DomRoot<D::GPUBindGroup>;
fn CreateShaderModule(
&self,
descriptor: RootedTraceableBox<GPUShaderModuleDescriptor>,
_comp: InRealm<'_>,
_can_gc: CanGc,
) -> DomRoot<D::GPUShaderModule>;
fn CreateComputePipeline(
&self,
descriptor: &GPUComputePipelineDescriptor<D>,
) -> DomRoot<D::GPUComputePipeline>;
fn CreateRenderPipeline(
&self,
descriptor: &GPURenderPipelineDescriptor<D>,
) -> Fallible<DomRoot<D::GPURenderPipeline>>;
fn CreateComputePipelineAsync(
&self,
descriptor: &GPUComputePipelineDescriptor<D>,
_comp: InRealm<'_>,
_can_gc: CanGc,
) -> Rc<D::Promise>;
fn CreateRenderPipelineAsync(
&self,
descriptor: &GPURenderPipelineDescriptor<D>,
_comp: InRealm<'_>,
_can_gc: CanGc,
) -> Fallible<Rc<D::Promise>>;
fn CreateCommandEncoder(
&self,
descriptor: &GPUCommandEncoderDescriptor,
) -> DomRoot<D::GPUCommandEncoder>;
fn CreateRenderBundleEncoder(
&self,
descriptor: &GPURenderBundleEncoderDescriptor,
) -> Fallible<DomRoot<D::GPURenderBundleEncoder>>;
fn Lost(&self) -> Rc<D::Promise>;
fn PushErrorScope(&self, filter: GPUErrorFilter);
fn PopErrorScope(
&self,
_comp: InRealm<'_>,
_can_gc: CanGc,
) -> Rc<D::Promise>;
fn GetOnuncapturederror(&self) -> Option<Rc<EventHandlerNonNull<D>>>;
fn SetOnuncapturederror(&self, value: Option<Rc<EventHandlerNonNull<D>>>);
fn Label(&self) -> USVString;
fn SetLabel(&self, value: USVString);
}