Interface GPUDevice
__brand: "GPUDevice";
adapterInfo: GPUAdapterInfo;
features: GPUSupportedFeatures;
label: string;
limits: GPUSupportedLimits;
lost: Promise<GPUDeviceLostInfo>;
onuncapturederror: (this: GPUDevice, ev: GPUUncapturedErrorEvent) => any;
queue: GPUQueue;
addEventListener(
type: string,
callback: EventListenerOrEventListenerObject,
options?: boolean | AddEventListenerOptions,
): void;
createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup;
createBindGroupLayout(
descriptor: GPUBindGroupLayoutDescriptor,
): GPUBindGroupLayout;
createBuffer(descriptor: GPUBufferDescriptor): GPUBuffer;
createCommandEncoder(
descriptor?: GPUObjectDescriptorBase,
): GPUCommandEncoder;
createComputePipeline(
descriptor: GPUComputePipelineDescriptor,
): GPUComputePipeline;
createComputePipelineAsync(
descriptor: GPUComputePipelineDescriptor,
): Promise<GPUComputePipeline>;
createPipelineLayout(
descriptor: GPUPipelineLayoutDescriptor,
): GPUPipelineLayout;
createQuerySet(descriptor: GPUQuerySetDescriptor): GPUQuerySet;
createRenderBundleEncoder(
descriptor: GPURenderBundleEncoderDescriptor,
): GPURenderBundleEncoder;
createRenderPipeline(
descriptor: GPURenderPipelineDescriptor,
): GPURenderPipeline;
createRenderPipelineAsync(
descriptor: GPURenderPipelineDescriptor,
): Promise<GPURenderPipeline>;
createSampler(descriptor?: GPUSamplerDescriptor): GPUSampler;
createShaderModule(descriptor: GPUShaderModuleDescriptor): GPUShaderModule;
createTexture(descriptor: GPUTextureDescriptor): GPUTexture;
destroy(): undefined;
dispatchEvent(event: Event): boolean;
importExternalTexture(
descriptor: GPUExternalTextureDescriptor,
): GPUExternalTexture;
popErrorScope(): Promise<GPUError>;
pushErrorScope(filter: GPUErrorFilter): undefined;
removeEventListener(
type: string,
callback: EventListenerOrEventListenerObject,
options?: boolean | EventListenerOptions,
): void;
}
Hierarchy
- EventTarget
- GPUObjectBase
- GPUDevice (View Summary)
Index
Properties
Methods
Properties
Readonly
Internal
__brand
Nominal type branding. https://github.com/microsoft/TypeScript/pull/33038
Readonly
adapterInfo
Information about the physical adapter which created the device that this GPUDevice refers to. For a given GPUDevice, the GPUAdapterInfo values exposed are constant over time.
Readonly
features
A set containing the GPUFeatureName values of the features supported by the device (i.e. the ones with which it was created).
label
Readonly
limits
Exposes the limits supported by the device (which are exactly the ones with which it was created).
Readonly
lost
A slot-backed attribute holding a promise which is created with the device, remains pending for the lifetime of the device, then resolves when the device is lost. Upon initialization, it is set to a new promise.
onuncapturederror
An event handler IDL attribute for the GPUDevice#uncapturederror event type.
Readonly
queue
The primary GPUQueue for this device.
Methods
addEventListener
- addEventListener(
type: string,
callback: EventListenerOrEventListenerObject,
options?: boolean | AddEventListenerOptions,
): void Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in ยง 2.8 Observing event listeners.
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
Parameters
- type: string
- callback: EventListenerOrEventListenerObject
Optional
options: boolean | AddEventListenerOptions
Returns void
createBindGroup
- createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup
Creates a GPUBindGroup.
Parameters
- descriptor: GPUBindGroupDescriptor
Description of the GPUBindGroup to create.
Returns GPUBindGroup
- descriptor: GPUBindGroupDescriptor
createBindGroupLayout
- createBindGroupLayout(
descriptor: GPUBindGroupLayoutDescriptor,
): GPUBindGroupLayout Creates a GPUBindGroupLayout.
Parameters
- descriptor: GPUBindGroupLayoutDescriptor
Description of the GPUBindGroupLayout to create.
Returns GPUBindGroupLayout
- descriptor: GPUBindGroupLayoutDescriptor
createBuffer
- createBuffer(descriptor: GPUBufferDescriptor): GPUBuffer
Creates a GPUBuffer.
Parameters
- descriptor: GPUBufferDescriptor
Description of the GPUBuffer to create.
Returns GPUBuffer
- descriptor: GPUBufferDescriptor
createCommandEncoder
- createCommandEncoder(descriptor?: GPUObjectDescriptorBase): GPUCommandEncoder
Creates a GPUCommandEncoder.
Parameters
Optional
descriptor: GPUObjectDescriptorBaseDescription of the GPUCommandEncoder to create.
Returns GPUCommandEncoder
createComputePipeline
- createComputePipeline(
descriptor: GPUComputePipelineDescriptor,
): GPUComputePipeline Creates a GPUComputePipeline using immediate pipeline creation.
Parameters
- descriptor: GPUComputePipelineDescriptor
Description of the GPUComputePipeline to create.
Returns GPUComputePipeline
- descriptor: GPUComputePipelineDescriptor
createComputePipelineAsync
- createComputePipelineAsync(
descriptor: GPUComputePipelineDescriptor,
): Promise<GPUComputePipeline> Creates a GPUComputePipeline using async pipeline creation. The returned Promise resolves when the created pipeline is ready to be used without additional delay. If pipeline creation fails, the returned Promise rejects with an GPUPipelineError. (A GPUError is not dispatched to the device.) Note: Use of this method is preferred whenever possible, as it prevents blocking the queue timeline work on pipeline compilation.
Parameters
- descriptor: GPUComputePipelineDescriptor
Description of the GPUComputePipeline to create.
Returns Promise<GPUComputePipeline>
- descriptor: GPUComputePipelineDescriptor
createPipelineLayout
- createPipelineLayout(descriptor: GPUPipelineLayoutDescriptor): GPUPipelineLayout
Creates a GPUPipelineLayout.
Parameters
- descriptor: GPUPipelineLayoutDescriptor
Description of the GPUPipelineLayout to create.
Returns GPUPipelineLayout
- descriptor: GPUPipelineLayoutDescriptor
createQuerySet
- createQuerySet(descriptor: GPUQuerySetDescriptor): GPUQuerySet
Creates a GPUQuerySet.
Parameters
- descriptor: GPUQuerySetDescriptor
Description of the GPUQuerySet to create.
Returns GPUQuerySet
- descriptor: GPUQuerySetDescriptor
createRenderBundleEncoder
- createRenderBundleEncoder(
descriptor: GPURenderBundleEncoderDescriptor,
): GPURenderBundleEncoder Creates a GPURenderBundleEncoder.
Parameters
- descriptor: GPURenderBundleEncoderDescriptor
Description of the GPURenderBundleEncoder to create.
Returns GPURenderBundleEncoder
- descriptor: GPURenderBundleEncoderDescriptor
createRenderPipeline
- createRenderPipeline(descriptor: GPURenderPipelineDescriptor): GPURenderPipeline
Creates a GPURenderPipeline using immediate pipeline creation.
Parameters
- descriptor: GPURenderPipelineDescriptor
Description of the GPURenderPipeline to create.
Returns GPURenderPipeline
- descriptor: GPURenderPipelineDescriptor
createRenderPipelineAsync
- createRenderPipelineAsync(
descriptor: GPURenderPipelineDescriptor,
): Promise<GPURenderPipeline> Creates a GPURenderPipeline using async pipeline creation. The returned Promise resolves when the created pipeline is ready to be used without additional delay. If pipeline creation fails, the returned Promise rejects with an GPUPipelineError. (A GPUError is not dispatched to the device.) Note: Use of this method is preferred whenever possible, as it prevents blocking the queue timeline work on pipeline compilation.
Parameters
- descriptor: GPURenderPipelineDescriptor
Description of the GPURenderPipeline to create.
Returns Promise<GPURenderPipeline>
- descriptor: GPURenderPipelineDescriptor
createSampler
- createSampler(descriptor?: GPUSamplerDescriptor): GPUSampler
Creates a GPUSampler.
Parameters
Optional
descriptor: GPUSamplerDescriptorDescription of the GPUSampler to create.
Returns GPUSampler
createShaderModule
- createShaderModule(descriptor: GPUShaderModuleDescriptor): GPUShaderModule
Creates a GPUShaderModule.
Parameters
- descriptor: GPUShaderModuleDescriptor
Description of the GPUShaderModule to create.
Returns GPUShaderModule
- descriptor: GPUShaderModuleDescriptor
createTexture
- createTexture(descriptor: GPUTextureDescriptor): GPUTexture
Creates a GPUTexture.
Parameters
- descriptor: GPUTextureDescriptor
Description of the GPUTexture to create.
Returns GPUTexture
- descriptor: GPUTextureDescriptor
destroy
- destroy(): undefined
Destroys the device, preventing further operations on it. Outstanding asynchronous operations will fail. Note: It is valid to destroy a device multiple times. Note: Since no further operations can be enqueued on this device, implementations can abort outstanding asynchronous operations immediately and free resource allocations, including mapped memory that was just unmapped.
Returns undefined
dispatchEvent
importExternalTexture
- importExternalTexture(
descriptor: GPUExternalTextureDescriptor,
): GPUExternalTexture Creates a GPUExternalTexture wrapping the provided image source.
Parameters
- descriptor: GPUExternalTextureDescriptor
Provides the external image source object (and any creation options).
Returns GPUExternalTexture
- descriptor: GPUExternalTextureDescriptor
popErrorScope
pushErrorScope
- pushErrorScope(filter: GPUErrorFilter): undefined
Pushes a new GPU error scope onto the GPUDevice#[[errorScopeStack]] for
this
.Parameters
- filter: GPUErrorFilter
Which class of errors this error scope observes.
Returns undefined
- filter: GPUErrorFilter
removeEventListener
- removeEventListener(
type: string,
callback: EventListenerOrEventListenerObject,
options?: boolean | EventListenerOptions,
): void Removes the event listener in target's event listener list with the same type, callback, and options.
Parameters
- type: string
- callback: EventListenerOrEventListenerObject
Optional
options: boolean | EventListenerOptions
Returns void
EventTarget is a DOM interface implemented by objects that can receive events and may have listeners for them.
MDN Reference