The name a refusal from this device gives as its backend. The runtime
type by default; a backend overrides it with the name a person knows it
by ("WebGPU", "Impeller").
Whether the device is lost now, and not restored — the state lost
reports the changes of, so a caller that subscribed late can ask. Every
backend that reports on lost answers here too.
The NativeHandleKinds this device can both export and import. Empty
on a device without DeviceFeature.sharedTextures, sharedBuffers or
sharedFences, which is every backend in this repository today.
Opens a compute pass; label names it to a debugger and to
onGpuTimings. timestampWrites (since 1.0) names where the pass
writes its start and end GPU times — DeviceFeature.timestampQuery.
Opens a pass of copies between buffers and textures. Never refused —
each copy is gated by its own feature. See TransferEncoder. By
default a pass whose every copy refuses by its feature, and whose
submit has nothing to send.
A storage buffer — the usages createStorageBuffer made before 1.0
folded it in here, with its whole contents given or none — is recorded
as createStorageBuffer, the event a trace has always carried for one;
any other buffer is passed on and noted as unrecorded.
The inner device's own, recorded as createComputePipeline is. A
trace names no compute pipeline's label, so a label is passed on and
listed in unrecorded.
The inner device's own asynchronous link, so a device that compiles
off the thread still does under the recorder; the pipeline is written
into the trace when the link completes, as createPipeline writes it.
A refused link is not recorded: there is no pipeline to name.
The inner device's own, so a backend that reads a descriptor field
createPipeline has no room for still sees it under the recorder;
written into the trace as createPipeline writes it, with the label
as a TraceSetLabel after it.
A set of count queries of type — DeviceFeature.occlusionQuery,
DeviceFeature.timestampQuery or
DeviceFeature.pipelineStatisticsQuery, the feature
QueryType.feature names.
Opens an encoder whose draws are kept as a RenderBundle, to be
replayed into any pass whose attachments match descriptor —
DeviceFeature.renderBundles. See RenderBundleEncoder for what a
bundle cannot record.
texture's memory as a NativeHandle of kind (the first of
shareableKinds by default), for another device or API to import —
DeviceFeature.sharedTextures. The handle is valid while texture
is.
A texture shaped like descriptor over the memory handle names, which
another device or API made and keeps — DeviceFeature.sharedTextures.
Released like any texture; the memory stays its maker's.
Maps sizeInBytes bytes (to the end by default) of buffer from
offsetInBytes into host memory, once every pass submitted before this
call is done with it — DeviceFeature.mappedBuffers.
Sets where each frame's GPU timings go, a frame or two after it was
encoded; null stops them. The engine does not call it on a device whose
features lack DeviceFeature.gpuTimestamps; a backend without the
feature may still answer a caller that asks, with what it can measure
and its doc saying what that is (Impeller times each labelled pass from
submission to completion, and puts it on the Dart timeline).
Overwrites region (the whole texture by default) of target's base
level with rgba — raw RGBA8 bytes, region.width * region.height * 4
of them, row-major from the top the same way readback answers them.
The pixels of region — the whole texture by default — as they stand
at this point in the queue: premultiplied RGBA8, row-major from the
top-left, the region's own width times four per row.
The results of count queries of querySet from first, once every
pass submitted before this call has finished: sample counts for
occlusion, nanoseconds for timestamps, and for pipeline statistics one
value per PipelineStatistic per query, in its order. A query no pass
wrote reads zero. By default refused by the feature of the set's own
type.
The refusal for a request this device has the feature for and still
cannot honour, for a backend to throw from operation:
throw refuseResource('createTextureFromPixels', 'the pixels are …').
Passed through, and written into the trace for a texture, a geometry
buffer, a pipeline or a storage buffer the trace made, so a replay
gives it the same label. Any other resource is passed through and
listed in unrecorded.
Writes bytes into target at offsetInBytes, in place. Visible
starting the next pass, as overwriteGeometry; an offset and length
that do not fit throw an ArgumentError before anything is written.
Writes data into region (the whole level by default) of level
mipLevel of target, in target's own format, rows bytesPerRow
apart (tightly packed by default; a compressed format counts rows of
blocks). Visible starting the next pass, as overwriteGeometry.