wgpu-native.BufferUsage
Bit flags for GPU buffer usage capabilities.
Specifies what operations a buffer can be used for. Multiple flags can be
combined with bitwise OR. For example: BufferUsage.STORAGE | BufferUsage.COPY_DST
creates a buffer that can be used as a storage buffer and written to.
BufferUsage = {
/**
* Buffer can be mapped for reading (CPU → GPU transfer).
*/
MAP_READ: native.BufferUsage.MapRead,
/**
* Buffer can be mapped for writing (GPU → CPU transfer).
*/
MAP_WRITE: native.BufferUsage.MapWrite,
/**
* Buffer can be the source of a copy operation.
*/
COPY_SRC: native.BufferUsage.CopySrc,
/**
* Buffer can be the destination of a copy operation.
*/
COPY_DST: native.BufferUsage.CopyDst,
/**
* Buffer can be used as an index buffer in render passes.
*/
INDEX: native.BufferUsage.Index,
/**
* Buffer can be used as a vertex buffer in render passes.
*/
VERTEX: native.BufferUsage.Vertex,
/**
* Buffer can be used as a uniform buffer in shaders.
* Read-only from shader perspective.
*/
UNIFORM: native.BufferUsage.Uniform,
/**
* Buffer can be used as a storage buffer in shaders.
* Can be read and written by shaders.
*/
STORAGE: native.BufferUsage.Storage,
/**
* Buffer can be used as an indirect buffer for dispatch calls.
*/
INDIRECT: native.BufferUsage.Indirect,
/**
* Buffer can be the destination for query results.
*/
QUERY_RESOLVE: native.BufferUsage.QueryResolve,
} as constMAP_READ(native.BufferUsage.MapRead)- – Buffer can be mapped for reading (CPU → GPU transfer).
MAP_WRITE(native.BufferUsage.MapWrite)- – Buffer can be mapped for writing (GPU → CPU transfer).
COPY_SRC(native.BufferUsage.CopySrc)- – Buffer can be the source of a copy operation.
COPY_DST(native.BufferUsage.CopyDst)- – Buffer can be the destination of a copy operation.
INDEX(native.BufferUsage.Index)- – Buffer can be used as an index buffer in render passes.
VERTEX(native.BufferUsage.Vertex)- – Buffer can be used as a vertex buffer in render passes.
UNIFORM(native.BufferUsage.Uniform)- – Buffer can be used as a uniform buffer in shaders. Read-only from shader perspective.
STORAGE(native.BufferUsage.Storage)- – Buffer can be used as a storage buffer in shaders. Can be read and written by shaders.
INDIRECT(native.BufferUsage.Indirect)- – Buffer can be used as an indirect buffer for dispatch calls.
QUERY_RESOLVE(native.BufferUsage.QueryResolve)- – Buffer can be the destination for query results.