ZenFG TypeScript API / webgpu / root / CopyOperation
Type Alias: CopyOperation
CopyOperation = {
copySize:TextureSize;destination:TextureHandle;destinationAspect?:GPUTextureAspect;destinationMipLevel?:number;destinationOrigin?:TextureOrigin;source:TextureHandle;sourceAspect?:GPUTextureAspect;sourceMipLevel?:number;sourceOrigin?:TextureOrigin;type:"texture-to-texture"; } | {destination:BufferHandle;destinationOffset?:GPUSize64;size:GPUSize64;source:BufferHandle;sourceOffset?:GPUSize64;type:"buffer-to-buffer"; } | {copySize:TextureSize;destination:TextureHandle;destinationAspect?:GPUTextureAspect;destinationMipLevel?:number;destinationOrigin?:TextureOrigin;source:BufferHandle;sourceLayout:Omit<GPUTexelCopyBufferLayout,"buffer">;type:"buffer-to-texture"; } | {copySize:TextureSize;destination:BufferHandle;destinationLayout:Omit<GPUTexelCopyBufferLayout,"buffer">;source:TextureHandle;sourceAspect?:GPUTextureAspect;sourceMipLevel?:number;sourceOrigin?:TextureOrigin;type:"texture-to-buffer"; }
Defined in: packages/webgpu/src/types.ts:710
Beta
A declarative WebGPU copy operation recorded by FrameGraph.
Copy ranges must satisfy WebGPU alignment and texture format block rules. Source and destination handles must belong to the current recording.
Union Members
Type Literal
{ copySize: TextureSize; destination: TextureHandle; destinationAspect?: GPUTextureAspect; destinationMipLevel?: number; destinationOrigin?: TextureOrigin; source: TextureHandle; sourceAspect?: GPUTextureAspect; sourceMipLevel?: number; sourceOrigin?: TextureOrigin; type: "texture-to-texture"; }
copySize
readonlycopySize:TextureSize
Extent copied between the selected subresources.
destination
readonlydestination:TextureHandle
Destination texture.
destinationAspect?
readonlyoptionaldestinationAspect?:GPUTextureAspect
Destination aspect; defaults from the destination format.
destinationMipLevel?
readonlyoptionaldestinationMipLevel?:number
Destination mip level; defaults to 0.
destinationOrigin?
readonlyoptionaldestinationOrigin?:TextureOrigin
Destination origin; defaults to zero.
source
readonlysource:TextureHandle
Source texture.
sourceAspect?
readonlyoptionalsourceAspect?:GPUTextureAspect
Source aspect; defaults from the source format.
sourceMipLevel?
readonlyoptionalsourceMipLevel?:number
Source mip level; defaults to 0.
sourceOrigin?
readonlyoptionalsourceOrigin?:TextureOrigin
Source origin; defaults to zero.
type
readonlytype:"texture-to-texture"
Copies texture subresources.
Type Literal
{ destination: BufferHandle; destinationOffset?: GPUSize64; size: GPUSize64; source: BufferHandle; sourceOffset?: GPUSize64; type: "buffer-to-buffer"; }
destination
readonlydestination:BufferHandle
Destination buffer.
destinationOffset?
readonlyoptionaldestinationOffset?:GPUSize64
Destination byte offset; defaults to 0.
size
readonlysize:GPUSize64
Number of bytes copied.
source
readonlysource:BufferHandle
Source buffer.
sourceOffset?
readonlyoptionalsourceOffset?:GPUSize64
Source byte offset; defaults to 0.
type
readonlytype:"buffer-to-buffer"
Copies a byte range between buffers.
Type Literal
{ copySize: TextureSize; destination: TextureHandle; destinationAspect?: GPUTextureAspect; destinationMipLevel?: number; destinationOrigin?: TextureOrigin; source: BufferHandle; sourceLayout: Omit<GPUTexelCopyBufferLayout, "buffer">; type: "buffer-to-texture"; }
copySize
readonlycopySize:TextureSize
Texture extent copied.
destination
readonlydestination:TextureHandle
Destination texture.
destinationAspect?
readonlyoptionaldestinationAspect?:GPUTextureAspect
Destination aspect; defaults from the destination format.
destinationMipLevel?
readonlyoptionaldestinationMipLevel?:number
Destination mip level; defaults to 0.
destinationOrigin?
readonlyoptionaldestinationOrigin?:TextureOrigin
Destination origin; defaults to zero.
source
readonlysource:BufferHandle
Source buffer.
sourceLayout
readonlysourceLayout:Omit<GPUTexelCopyBufferLayout,"buffer">
Buffer layout excluding the logical buffer handle.
type
readonlytype:"buffer-to-texture"
Copies texel data from a buffer into a texture.
Type Literal
{ copySize: TextureSize; destination: BufferHandle; destinationLayout: Omit<GPUTexelCopyBufferLayout, "buffer">; source: TextureHandle; sourceAspect?: GPUTextureAspect; sourceMipLevel?: number; sourceOrigin?: TextureOrigin; type: "texture-to-buffer"; }
copySize
readonlycopySize:TextureSize
Texture extent copied.
destination
readonlydestination:BufferHandle
Destination buffer.
destinationLayout
readonlydestinationLayout:Omit<GPUTexelCopyBufferLayout,"buffer">
Buffer layout excluding the logical buffer handle.
source
readonlysource:TextureHandle
Source texture.
sourceAspect?
readonlyoptionalsourceAspect?:GPUTextureAspect
Source aspect; defaults from the source format.
sourceMipLevel?
readonlyoptionalsourceMipLevel?:number
Source mip level; defaults to 0.
sourceOrigin?
readonlyoptionalsourceOrigin?:TextureOrigin
Source origin; defaults to zero.
type
readonlytype:"texture-to-buffer"
Copies texel data from a texture into a buffer.