GpuCommandBinding import { GpuCommandBinding } from "destack:gpu/binding"; Command binding family. export interface GpuCommandBinding { createCommandEncoder(device: GpuDeviceHandle, descriptor: &'a readonly GpuCommandEncoderDescriptor): Result; closeCommandEncoder(encoder: GpuCommandEncoderHandle): Result; finishCommandEncoder(encoder: GpuCommandEncoderHandle, descriptor: &'a readonly GpuCommandBufferDescriptor): Result; destroyCommandBuffer(commandBuffer: GpuCommandBufferHandle): Result; createRenderBundleEncoder(device: GpuDeviceHandle, descriptor: &'a readonly GpuRenderBundleEncoderDescriptor): Result; closeRenderBundleEncoder(encoder: GpuRenderBundleEncoderHandle): Result; finishRenderBundleEncoder(encoder: GpuRenderBundleEncoderHandle, descriptor: &'a readonly GpuRenderBundleDescriptor): Result; beginComputePass(encoder: GpuCommandEncoderHandle, descriptor: &'a readonly GpuComputePassDescriptor): Result; endComputePass(computePass: GpuComputePassHandle): Result; beginRenderPass(encoder: GpuCommandEncoderHandle, descriptor: &'a readonly GpuRenderPassDescriptor): Result; endRenderPass(renderPass: GpuRenderPassHandle): Result; transitionResources(encoder: GpuCommandEncoderHandle, buffers: &'a readonly [GpuBufferTransition], textures: &'b readonly [GpuTextureTransition]): Result; executeRenderBundles(renderPass: GpuRenderPassHandle, bundles: &'a readonly [GpuRenderBundleHandle]): Result; destroyRenderBundle(bundle: GpuRenderBundleHandle): Result; setRenderBundlePipeline(encoder: GpuRenderBundleEncoderHandle, pipeline: GpuPipelineHandle): Result; setRenderBundleBindGroup(encoder: GpuRenderBundleEncoderHandle, index: uint32, bindGroup: GpuBindGroupHandle, dynamicOffsets: &'a readonly [uint32]): Result; setRenderBundleVertexBuffer(encoder: GpuRenderBundleEncoderHandle, slot: uint32, buffer: GpuBufferHandle, offset: uint64, size: uint64): Result; setRenderBundleIndexBuffer(encoder: GpuRenderBundleEncoderHandle, buffer: GpuBufferHandle, format: GpuIndexFormat, offset: uint64, size: uint64): Result; drawRenderBundle(encoder: GpuRenderBundleEncoderHandle, vertexCount: uint32, instanceCount: uint32, firstVertex: uint32, firstInstance: uint32): Result; drawIndexedRenderBundle(encoder: GpuRenderBundleEncoderHandle, indexCount: uint32, instanceCount: uint32, firstIndex: uint32, baseVertex: int32, firstInstance: uint32): Result; drawIndirectRenderBundle(encoder: GpuRenderBundleEncoderHandle, buffer: GpuBufferHandle, offset: uint64, drawCount: uint32, stride: uint32): Result; drawIndexedIndirectRenderBundle(encoder: GpuRenderBundleEncoderHandle, buffer: GpuBufferHandle, offset: uint64, drawCount: uint32, stride: uint32): Result; insertRenderBundleDebugMarker(encoder: GpuRenderBundleEncoderHandle, marker: &'a readonly string): Result; pushRenderBundleDebugGroup(encoder: GpuRenderBundleEncoderHandle, label: &'a readonly string): Result; popRenderBundleDebugGroup(encoder: GpuRenderBundleEncoderHandle): Result; setComputePipeline(pass: GpuComputePassHandle, pipeline: GpuPipelineHandle): Result; setRenderPipeline(pass: GpuRenderPassHandle, pipeline: GpuPipelineHandle): Result; setComputeBindGroup(pass: GpuComputePassHandle, index: uint32, bindGroup: GpuBindGroupHandle, dynamicOffsets: &'a readonly [uint32]): Result; setRenderBindGroup(pass: GpuRenderPassHandle, index: uint32, bindGroup: GpuBindGroupHandle, dynamicOffsets: &'a readonly [uint32]): Result; setVertexBuffer(pass: GpuRenderPassHandle, slot: uint32, buffer: GpuBufferHandle, offset: uint64, size: uint64): Result; setIndexBuffer(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, format: GpuIndexFormat, offset: uint64, size: uint64): Result; setViewport(pass: GpuRenderPassHandle, x: float64, y: float64, width: float64, height: float64, minDepth: float64, maxDepth: float64): Result; setScissor(pass: GpuRenderPassHandle, x: uint32, y: uint32, width: uint32, height: uint32): Result; setBlendConstant(pass: GpuRenderPassHandle, r: float64, g: float64, b: float64, a: float64): Result; setStencilReference(pass: GpuRenderPassHandle, reference: uint32): Result; insertCommandDebugMarker(encoder: GpuCommandEncoderHandle, marker: &'a readonly string): Result; pushCommandDebugGroup(encoder: GpuCommandEncoderHandle, label: &'a readonly string): Result; popCommandDebugGroup(encoder: GpuCommandEncoderHandle): Result; insertComputePassDebugMarker(pass: GpuComputePassHandle, marker: &'a readonly string): Result; pushComputePassDebugGroup(pass: GpuComputePassHandle, label: &'a readonly string): Result; popComputePassDebugGroup(pass: GpuComputePassHandle): Result; insertRenderPassDebugMarker(pass: GpuRenderPassHandle, marker: &'a readonly string): Result; pushRenderPassDebugGroup(pass: GpuRenderPassHandle, label: &'a readonly string): Result; popRenderPassDebugGroup(pass: GpuRenderPassHandle): Result; dispatch(pass: GpuComputePassHandle, groupX: uint32, groupY: uint32, groupZ: uint32): Result; dispatchIndirect(pass: GpuComputePassHandle, buffer: GpuBufferHandle, offset: uint64): Result; draw(pass: GpuRenderPassHandle, vertexCount: uint32, instanceCount: uint32, firstVertex: uint32, firstInstance: uint32): Result; drawIndexed(pass: GpuRenderPassHandle, indexCount: uint32, instanceCount: uint32, firstIndex: uint32, baseVertex: int32, firstInstance: uint32): Result; drawIndirect(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, offset: uint64, drawCount: uint32, stride: uint32): Result; drawIndexedIndirect(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, offset: uint64, drawCount: uint32, stride: uint32): Result; multiDrawIndirect(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, offset: uint64, drawCount: uint32, stride: uint32): Result; multiDrawIndexedIndirect(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, offset: uint64, drawCount: uint32, stride: uint32): Result; multiDrawIndirectCount(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, offset: uint64, countBuffer: GpuBufferHandle, countOffset: uint64, maxDrawCount: uint32, stride: uint32): Result; multiDrawIndexedIndirectCount(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, offset: uint64, countBuffer: GpuBufferHandle, countOffset: uint64, maxDrawCount: uint32, stride: uint32): Result; copyBuffer(encoder: GpuCommandEncoderHandle, src: GpuBufferHandle, srcOffset: uint64, dst: GpuBufferHandle, dstOffset: uint64, bytes: uint64): Result; clearBuffer(encoder: GpuCommandEncoderHandle, buffer: GpuBufferHandle, offset: uint64, size: uint64): Result; copyTextureToTexture(encoder: GpuCommandEncoderHandle, source: GpuTextureCopy, destination: GpuTextureCopy, size: GpuExtent3D): Result; copyTextureToBuffer(encoder: GpuCommandEncoderHandle, source: GpuTextureCopy, destination: GpuBufferCopy, size: GpuExtent3D): Result; copyBufferToTexture(encoder: GpuCommandEncoderHandle, source: GpuBufferCopy, destination: GpuTextureCopy, size: GpuExtent3D): Result; queueSubmit(queue: GpuQueueHandle, commandBuffers: &'a readonly [GpuCommandBufferHandle]): Result; queueWriteBuffer(queue: GpuQueueHandle, buffer: GpuBufferHandle, bufferOffset: uint64, bytes: &'a readonly [uint8], byteOffset: uint64, size: uint64): Result; queueWriteTexture(queue: GpuQueueHandle, destination: GpuTextureCopy, bytes: &'a readonly [uint8], layout: GpuBufferCopyLayout, size: GpuExtent3D): Result; queueWaitIdle(queue: GpuQueueHandle, timeoutNs: uint64): Result; } language/library/src/gpu/binding/command.ds:204:1018 Members createCommandEncoder(device: GpuDeviceHandle, descriptor: &'a readonly GpuCommandEncoderDescriptor): Result Create a command encoder. closeCommandEncoder(encoder: GpuCommandEncoderHandle): Result Close a command encoder. finishCommandEncoder(encoder: GpuCommandEncoderHandle, descriptor: &'a readonly GpuCommandBufferDescriptor): Result Finish one command encoder. destroyCommandBuffer(commandBuffer: GpuCommandBufferHandle): Result Destroy one command buffer. createRenderBundleEncoder(device: GpuDeviceHandle, descriptor: &'a readonly GpuRenderBundleEncoderDescriptor): Result Create a render bundle encoder. closeRenderBundleEncoder(encoder: GpuRenderBundleEncoderHandle): Result Close a render-bundle encoder without producing a bundle. finishRenderBundleEncoder(encoder: GpuRenderBundleEncoderHandle, descriptor: &'a readonly GpuRenderBundleDescriptor): Result Finish one render-bundle encoder. beginComputePass(encoder: GpuCommandEncoderHandle, descriptor: &'a readonly GpuComputePassDescriptor): Result Begin a compute pass. endComputePass(computePass: GpuComputePassHandle): Result End a compute pass. beginRenderPass(encoder: GpuCommandEncoderHandle, descriptor: &'a readonly GpuRenderPassDescriptor): Result Begin a render pass. endRenderPass(renderPass: GpuRenderPassHandle): Result End a render pass. transitionResources(encoder: GpuCommandEncoderHandle, buffers: &'a readonly [GpuBufferTransition], textures: &'b readonly [GpuTextureTransition]): Result Insert explicit resource transitions. executeRenderBundles(renderPass: GpuRenderPassHandle, bundles: &'a readonly [GpuRenderBundleHandle]): Result Execute one batch of render bundles in the active render pass. destroyRenderBundle(bundle: GpuRenderBundleHandle): Result Destroy a render bundle. setRenderBundlePipeline(encoder: GpuRenderBundleEncoderHandle, pipeline: GpuPipelineHandle): Result Bind one render pipeline for one bundle encoder. setRenderBundleBindGroup(encoder: GpuRenderBundleEncoderHandle, index: uint32, bindGroup: GpuBindGroupHandle, dynamicOffsets: &'a readonly [uint32]): Result Bind one bind group in one bundle encoder. setRenderBundleVertexBuffer(encoder: GpuRenderBundleEncoderHandle, slot: uint32, buffer: GpuBufferHandle, offset: uint64, size: uint64): Result Bind one vertex buffer in one bundle encoder. setRenderBundleIndexBuffer(encoder: GpuRenderBundleEncoderHandle, buffer: GpuBufferHandle, format: GpuIndexFormat, offset: uint64, size: uint64): Result Bind one index buffer in one bundle encoder. drawRenderBundle(encoder: GpuRenderBundleEncoderHandle, vertexCount: uint32, instanceCount: uint32, firstVertex: uint32, firstInstance: uint32): Result Encode one non-indexed draw in one bundle encoder. drawIndexedRenderBundle(encoder: GpuRenderBundleEncoderHandle, indexCount: uint32, instanceCount: uint32, firstIndex: uint32, baseVertex: int32, firstInstance: uint32): Result Encode one indexed draw in one bundle encoder. drawIndirectRenderBundle(encoder: GpuRenderBundleEncoderHandle, buffer: GpuBufferHandle, offset: uint64, drawCount: uint32, stride: uint32): Result Encode one indirect non-indexed draw range in one bundle encoder. drawIndexedIndirectRenderBundle(encoder: GpuRenderBundleEncoderHandle, buffer: GpuBufferHandle, offset: uint64, drawCount: uint32, stride: uint32): Result Encode one indirect indexed draw range in one bundle encoder. insertRenderBundleDebugMarker(encoder: GpuRenderBundleEncoderHandle, marker: &'a readonly string): Result Insert one debug marker in one bundle encoder. pushRenderBundleDebugGroup(encoder: GpuRenderBundleEncoderHandle, label: &'a readonly string): Result Push one debug group in one bundle encoder. popRenderBundleDebugGroup(encoder: GpuRenderBundleEncoderHandle): Result Pop one debug group in one bundle encoder. setComputePipeline(pass: GpuComputePassHandle, pipeline: GpuPipelineHandle): Result Bind one compute pipeline. setRenderPipeline(pass: GpuRenderPassHandle, pipeline: GpuPipelineHandle): Result Bind one render pipeline. setComputeBindGroup(pass: GpuComputePassHandle, index: uint32, bindGroup: GpuBindGroupHandle, dynamicOffsets: &'a readonly [uint32]): Result Bind one bind group for one compute pass. setRenderBindGroup(pass: GpuRenderPassHandle, index: uint32, bindGroup: GpuBindGroupHandle, dynamicOffsets: &'a readonly [uint32]): Result Bind one bind group for one render pass. setVertexBuffer(pass: GpuRenderPassHandle, slot: uint32, buffer: GpuBufferHandle, offset: uint64, size: uint64): Result Bind one vertex buffer for subsequent draw commands. setIndexBuffer(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, format: GpuIndexFormat, offset: uint64, size: uint64): Result Bind one index buffer for subsequent indexed draw commands. setViewport(pass: GpuRenderPassHandle, x: float64, y: float64, width: float64, height: float64, minDepth: float64, maxDepth: float64): Result Set viewport state for the active render pass. setScissor(pass: GpuRenderPassHandle, x: uint32, y: uint32, width: uint32, height: uint32): Result Set a scissor rectangle for the active render pass. setBlendConstant(pass: GpuRenderPassHandle, r: float64, g: float64, b: float64, a: float64): Result Set a blend constant for the active render pass. setStencilReference(pass: GpuRenderPassHandle, reference: uint32): Result Set a stencil-reference value for the active render pass. insertCommandDebugMarker(encoder: GpuCommandEncoderHandle, marker: &'a readonly string): Result Insert one debug marker in one command-encoder scope. pushCommandDebugGroup(encoder: GpuCommandEncoderHandle, label: &'a readonly string): Result Push one debug group in one command-encoder scope. popCommandDebugGroup(encoder: GpuCommandEncoderHandle): Result Pop one debug group in one command-encoder scope. insertComputePassDebugMarker(pass: GpuComputePassHandle, marker: &'a readonly string): Result Insert one debug marker in one compute-pass scope. pushComputePassDebugGroup(pass: GpuComputePassHandle, label: &'a readonly string): Result Push one debug group in one compute-pass scope. popComputePassDebugGroup(pass: GpuComputePassHandle): Result Pop one debug group in one compute-pass scope. insertRenderPassDebugMarker(pass: GpuRenderPassHandle, marker: &'a readonly string): Result Insert one debug marker in one render-pass scope. pushRenderPassDebugGroup(pass: GpuRenderPassHandle, label: &'a readonly string): Result Push one debug group in one render-pass scope. popRenderPassDebugGroup(pass: GpuRenderPassHandle): Result Pop one debug group in one render-pass scope. dispatch(pass: GpuComputePassHandle, groupX: uint32, groupY: uint32, groupZ: uint32): Result Dispatch one compute workgroup grid. dispatchIndirect(pass: GpuComputePassHandle, buffer: GpuBufferHandle, offset: uint64): Result Dispatch one compute workload from one indirect buffer argument. draw(pass: GpuRenderPassHandle, vertexCount: uint32, instanceCount: uint32, firstVertex: uint32, firstInstance: uint32): Result Draw one non-indexed primitive range. drawIndexed(pass: GpuRenderPassHandle, indexCount: uint32, instanceCount: uint32, firstIndex: uint32, baseVertex: int32, firstInstance: uint32): Result Draw one indexed primitive range. drawIndirect(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, offset: uint64, drawCount: uint32, stride: uint32): Result Draw one indirect non-indexed command range. drawIndexedIndirect(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, offset: uint64, drawCount: uint32, stride: uint32): Result Draw one indirect indexed command range. multiDrawIndirect(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, offset: uint64, drawCount: uint32, stride: uint32): Result Draw multiple indirect non-indexed command ranges. multiDrawIndexedIndirect(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, offset: uint64, drawCount: uint32, stride: uint32): Result Draw multiple indirect indexed command ranges. multiDrawIndirectCount(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, offset: uint64, countBuffer: GpuBufferHandle, countOffset: uint64, maxDrawCount: uint32, stride: uint32): Result Draw multiple indirect non-indexed command ranges with a host-visible count buffer. multiDrawIndexedIndirectCount(pass: GpuRenderPassHandle, buffer: GpuBufferHandle, offset: uint64, countBuffer: GpuBufferHandle, countOffset: uint64, maxDrawCount: uint32, stride: uint32): Result Draw multiple indirect indexed command ranges with a host-visible count buffer. copyBuffer(encoder: GpuCommandEncoderHandle, src: GpuBufferHandle, srcOffset: uint64, dst: GpuBufferHandle, dstOffset: uint64, bytes: uint64): Result Copy one buffer range. clearBuffer(encoder: GpuCommandEncoderHandle, buffer: GpuBufferHandle, offset: uint64, size: uint64): Result Clear one buffer range. copyTextureToTexture(encoder: GpuCommandEncoderHandle, source: GpuTextureCopy, destination: GpuTextureCopy, size: GpuExtent3D): Result Copy one texture range to another texture. copyTextureToBuffer(encoder: GpuCommandEncoderHandle, source: GpuTextureCopy, destination: GpuBufferCopy, size: GpuExtent3D): Result Copy one texture range into one buffer range. copyBufferToTexture(encoder: GpuCommandEncoderHandle, source: GpuBufferCopy, destination: GpuTextureCopy, size: GpuExtent3D): Result Copy one buffer range into one texture range. queueSubmit(queue: GpuQueueHandle, commandBuffers: &'a readonly [GpuCommandBufferHandle]): Result Submit one command-buffer batch to one queue. queueWriteBuffer(queue: GpuQueueHandle, buffer: GpuBufferHandle, bufferOffset: uint64, bytes: &'a readonly [uint8], byteOffset: uint64, size: uint64): Result Write host bytes into one GPU buffer through one queue. queueWriteTexture(queue: GpuQueueHandle, destination: GpuTextureCopy, bytes: &'a readonly [uint8], layout: GpuBufferCopyLayout, size: GpuExtent3D): Result Write host bytes into one GPU texture through one queue. queueWaitIdle(queue: GpuQueueHandle, timeoutNs: uint64): Result Wait for a queue to become idle.