GPUDevice extension type
The GPUDevice
interface of the WebGPU API
represents a logical GPU
device. This is the main interface through which the majority of WebGPU
functionality is accessed.
A GPUDevice
object is requested using the GPUAdapter.requestDevice
method.
API documentation sourced from MDN Web Docs.
- on
- Implemented types
- Available extensions
Properties
- features → GPUSupportedFeatures
-
The
features
read-only property of the GPUDevice interface returns a GPUSupportedFeatures object that describes additional functionality supported by the device. Only features requested during the creation of the device (i.e. when GPUAdapter.requestDevice is called) are included.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- isDefinedAndNotNull → bool
-
Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension
no setter - isNull → bool
-
Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension
Whether this value corresponds to JavaScriptnull
.no setter - isTruthy → JSBoolean
-
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of!!
in JavaScript.this
no setter - isUndefined → bool
-
Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension
Whether this value corresponds to JavaScriptundefined
.no setter - isUndefinedOrNull → bool
-
Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension
no setter - label ↔ String
-
The
label
read-only property of the GPUDevice interface is a string providing a label that can be used to identify the object, for example in GPUError messages or console warnings.getter/setter pair - limits → GPUSupportedLimits
-
The
limits
read-only property of the GPUDevice interface returns a GPUSupportedLimits object that describes the limits supported by the device. All limit values will be included, and the limits requested during the creation of the device (i.e. when GPUAdapter.requestDevice is called) will be reflected in those values.no setter -
lost
→ JSPromise<
GPUDeviceLostInfo> -
The
lost
read-only property of the GPUDevice interface contains aPromise
that remains pending throughout the device's lifetime and resolves with a GPUDeviceLostInfo object when the device is lost.no setter - not → JSBoolean
-
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of!
in JavaScript.this
no setter - onuncapturederror ↔ EventHandler?
-
getter/setter pair
- queue → GPUQueue
-
The
queue
read-only property of the GPUDevice interface returns the primary GPUQueue for the device.no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
add(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
+any
-
addEventListener(
String type, EventListener? callback, [JSAny options]) → void -
The
addEventListener()
method of theEventTarget
interface sets up a function that will be called whenever the specified event is delivered to the target.inherited -
and(
JSAny? any) → JSAny? -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
&&any
-
callMethod<
R extends JSAny?> (JSAny method, [JSAny? arg1, JSAny? arg2, JSAny? arg3, JSAny? arg4]) → R -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Callsmethod
on this JSObject with up to four arguments. -
callMethodVarArgs<
R extends JSAny?> (JSAny method, [List< JSAny?> ? arguments]) → R -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Callsmethod
on this JSObject with a variable number ofarguments
. -
createBindGroup(
GPUBindGroupDescriptor descriptor) → GPUBindGroup -
The
createBindGroup()
method of the GPUDevice interface creates a GPUBindGroup based on a GPUBindGroupLayout that defines a set of resources to be bound together in a group and how those resources are used in shader stages. -
createBindGroupLayout(
GPUBindGroupLayoutDescriptor descriptor) → GPUBindGroupLayout -
The
createBindGroupLayout()
method of the GPUDevice interface creates a GPUBindGroupLayout that defines the structure and purpose of related GPU resources such as buffers that will be used in a pipeline, and is used as a template when creating GPUBindGroups. -
createBuffer(
GPUBufferDescriptor descriptor) → GPUBuffer -
The
createBuffer()
method of the GPUDevice interface creates a GPUBuffer in which to store raw data to use in GPU operations. -
createCommandEncoder(
[GPUCommandEncoderDescriptor descriptor]) → GPUCommandEncoder -
The
createCommandEncoder()
method of the GPUDevice interface creates a GPUCommandEncoder, used to encode commands to be issued to the GPU. -
createComputePipeline(
GPUComputePipelineDescriptor descriptor) → GPUComputePipeline -
The
createComputePipeline()
method of the GPUDevice interface creates a GPUComputePipeline that can control the compute shader stage and be used in a GPUComputePassEncoder. -
createComputePipelineAsync(
GPUComputePipelineDescriptor descriptor) → JSPromise< GPUComputePipeline> -
The
createComputePipelineAsync()
method of the GPUDevice interface returns aPromise
that fulfills with a GPUComputePipeline, which can control the compute shader stage and be used in a GPUComputePassEncoder, once the pipeline can be used without any stalling. -
createPipelineLayout(
GPUPipelineLayoutDescriptor descriptor) → GPUPipelineLayout -
The
createPipelineLayout()
method of the GPUDevice interface creates a GPUPipelineLayout that defines the GPUBindGroupLayouts used by a pipeline. GPUBindGroups used with the pipeline during command encoding must have compatible GPUBindGroupLayouts. -
createQuerySet(
GPUQuerySetDescriptor descriptor) → GPUQuerySet -
The
createQuerySet()
method of the GPUDevice interface creates a GPUQuerySet that can be used to record the results of queries on passes, such as occlusion or timestamp queries. -
createRenderBundleEncoder(
GPURenderBundleEncoderDescriptor descriptor) → GPURenderBundleEncoder -
The
createRenderBundleEncoder()
method of the GPUDevice interface creates a GPURenderBundleEncoder that can be used to pre-record bundles of commands. These can be reused in GPURenderPassEncoders via the GPURenderPassEncoder.executeBundles method, as many times as required. -
createRenderPipeline(
GPURenderPipelineDescriptor descriptor) → GPURenderPipeline -
The
createRenderPipeline()
method of the GPUDevice interface creates a GPURenderPipeline that can control the vertex and fragment shader stages and be used in a GPURenderPassEncoder or GPURenderBundleEncoder. -
createRenderPipelineAsync(
GPURenderPipelineDescriptor descriptor) → JSPromise< GPURenderPipeline> -
The
createRenderPipelineAsync()
method of the GPUDevice interface returns aPromise
that fulfills with a GPURenderPipeline, which can control the vertex and fragment shader stages and be used in a GPURenderPassEncoder or GPURenderBundleEncoder, once the pipeline can be used without any stalling. -
createSampler(
[GPUSamplerDescriptor descriptor]) → GPUSampler -
The
createSampler()
method of the GPUDevice interface creates a GPUSampler, which controls how shaders transform and filter texture resource data. -
createShaderModule(
GPUShaderModuleDescriptor descriptor) → GPUShaderModule -
The
createShaderModule()
method of the GPUDevice interface creates a GPUShaderModule from a string of WGSL source code. -
createTexture(
GPUTextureDescriptor descriptor) → GPUTexture -
The
createTexture()
method of the GPUDevice interface creates a GPUTexture in which to store 1D, 2D, or 3D arrays of data, such as images, to use in GPU rendering operations. -
dartify(
) → Object? -
Available on JSAny?, provided by the JSAnyUtilityExtension extension
Converts a JavaScript JSON-like value to the Dart equivalent if possible. -
delete(
JSAny property) → JSBoolean -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Deletes the property with keyproperty
from this JSObject. -
destroy(
) → void -
The
destroy()
method of the GPUDevice interface destroys the device, preventing further operations on it. -
dispatchEvent(
Event event) → bool -
The
dispatchEvent()
method of theEventTarget
sends anEvent
to the object, (synchronously) invoking the affected event listeners in the appropriate order. The normal event processing rules (including the capturing and optional bubbling phase) also apply to events dispatched manually withdispatchEvent()
.inherited -
divide(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
/any
-
equals(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
==any
-
exponentiate(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
**any
-
getProperty<
R extends JSAny?> (JSAny property) → R -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
The value of the property keyproperty
of this JSObject. -
greaterThan(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
>any
-
greaterThanOrEqualTo(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
>=any
-
has(
String property) → bool -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Shorthand helper for hasProperty to check whether this JSObject contains the property keyproperty
, but takes and returns a Dart value. -
hasProperty(
JSAny property) → JSBoolean -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Whether or not this JSObject contains the property keyproperty
. -
importExternalTexture(
GPUExternalTextureDescriptor descriptor) → GPUExternalTexture -
The
importExternalTexture()
method of the GPUDevice interface takes anHTMLVideoElement
or aVideoFrame
object as an input and returns a GPUExternalTexture wrapper object containing a snapshot of the video that can be used as a frame in GPU rendering operations. -
instanceof(
JSFunction constructor) → bool -
Available on JSAny?, provided by the JSAnyUtilityExtension extension
Whether thisJSAny?
is aninstanceof
constructor
. -
instanceOfString(
String constructorName) → bool -
Available on JSAny?, provided by the JSAnyUtilityExtension extension
Whether thisJSAny?
is aninstanceof
the constructor that is defined byconstructorName
, which is looked up in the globalContext. -
isA<
T extends JSAny?> () → bool -
Available on JSAny?, provided by the JSAnyUtilityExtension extension
Whether thisJSAny?
is an instance of the JavaScript type that is declared byT
. -
lessThan(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
<any
-
lessThanOrEqualTo(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
<=any
-
modulo(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
%any
-
multiply(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
*any
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notEquals(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
!=any
-
or(
JSAny? any) → JSAny? -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
||any
-
popErrorScope(
) → JSPromise< GPUError?> -
The
popErrorScope()
method of the GPUDevice interface pops an existing GPU error scope from the error scope stack (originally pushed using GPUDevice.pushErrorScope) and returns aPromise
that resolves to an object describing the first error captured in the scope, ornull
if no error occurred. -
pushErrorScope(
GPUErrorFilter filter) → void -
The
pushErrorScope()
method of the GPUDevice interface pushes a new GPU error scope onto the device's error scope stack, allowing you to capture errors of a particular type. -
removeEventListener(
String type, EventListener? callback, [JSAny options]) → void -
The
removeEventListener()
method of theEventTarget
interface removes an event listener previously registered withEventTarget.addEventListener
from the target. The event listener to be removed is identified using a combination of the event type, the event listener function itself, and various optional options that may affect the matching process; see Matching event listeners for removal.inherited -
setProperty(
JSAny property, JSAny? value) → void -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Write thevalue
of property keyproperty
of this JSObject. -
strictEquals(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
===any
-
strictNotEquals(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
!==any
-
subtract(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
-any
-
toString(
) → String -
A string representation of this object.
inherited
-
typeofEquals(
String typeString) → bool -
Available on JSAny?, provided by the JSAnyUtilityExtension extension
Whether the result oftypeof
on thisJSAny?
istypeString
. -
unsignedRightShift(
JSAny? any) → JSNumber -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result of
in JavaScript.this
>>>any
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
-
operator [](
String property) → JSAny? -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Shorthand helper for getProperty to get the value of the property keyproperty
of this JSObject, but takes a Dart value. -
operator []=(
String property, JSAny? value) → void -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
Shorthand helper for setProperty to write thevalue
of the property keyproperty
of this JSObject, but takes a Dart value.