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
featuresread-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.thisno 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
labelread-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
limitsread-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
lostread-only property of the GPUDevice interface contains aPromisethat 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.thisno setter - onuncapturederror ↔ EventHandler?
-
getter/setter pair
- queue → GPUQueue
-
The
queueread-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 ofin JavaScript.this+any -
addEventListener(
String type, EventListener? callback, [JSAny options]) → void -
The
addEventListener()method of theEventTargetinterface 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 ofin 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
Callsmethodon 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
Callsmethodon 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 aPromisethat 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 aPromisethat 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 keypropertyfrom 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 theEventTargetsends anEventto 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 ofin JavaScript.this/any -
equals(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this==any -
exponentiate(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this**any -
getProperty<
R extends JSAny?> (JSAny property) → R -
Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension
The value of the property keypropertyof this JSObject. -
greaterThan(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this>any -
greaterThanOrEqualTo(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin 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 anHTMLVideoElementor aVideoFrameobject 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 aninstanceofconstructor. -
instanceOfString(
String constructorName) → bool -
Available on JSAny?, provided by the JSAnyUtilityExtension extension
Whether thisJSAny?is aninstanceofthe 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 ofin JavaScript.this<any -
lessThanOrEqualTo(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this<=any -
modulo(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this%any -
multiply(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin 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 ofin JavaScript.this!=any -
or(
JSAny? any) → JSAny? -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin 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 aPromisethat resolves to an object describing the first error captured in the scope, ornullif 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 theEventTargetinterface removes an event listener previously registered withEventTarget.addEventListenerfrom 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 thevalueof property keypropertyof this JSObject. -
strictEquals(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this===any -
strictNotEquals(
JSAny? any) → JSBoolean -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin JavaScript.this!==any -
subtract(
JSAny? any) → JSAny -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin 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 oftypeofon thisJSAny?istypeString. -
unsignedRightShift(
JSAny? any) → JSNumber -
Available on JSAny?, provided by the JSAnyOperatorExtension extension
The result ofin 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 keypropertyof 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 thevalueof the property keypropertyof this JSObject, but takes a Dart value.