dawn.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: 0x0001,
/**
* Buffer can be mapped for writing (GPU → CPU transfer).
*/
MAP_WRITE: 0x0002,
/**
* Buffer can be the source of a copy operation.
*/
COPY_SRC: 0x0004,
/**
* Buffer can be the destination of a copy operation.
*/
COPY_DST: 0x0008,
/**
* Buffer can be used as an index buffer in render passes.
*/
INDEX: 0x0010,
/**
* Buffer can be used as a vertex buffer in render passes.
*/
VERTEX: 0x0020,
/**
* Buffer can be used as a uniform buffer in shaders.
* Read-only from shader perspective.
*/
UNIFORM: 0x0040,
/**
* Buffer can be used as a storage buffer in shaders.
* Can be read and written by shaders.
*/
STORAGE: 0x0080,
/**
* Buffer can be used as an indirect buffer for dispatch calls.
*/
INDIRECT: 0x0100,
/**
* Buffer can be the destination for query results.
*/
QUERY_RESOLVE: 0x0200,
} as constMAP_READ(number)- – Buffer can be mapped for reading (CPU → GPU transfer).
MAP_WRITE(number)- – Buffer can be mapped for writing (GPU → CPU transfer).
COPY_SRC(number)- – Buffer can be the source of a copy operation.
COPY_DST(number)- – Buffer can be the destination of a copy operation.
INDEX(number)- – Buffer can be used as an index buffer in render passes.
VERTEX(number)- – Buffer can be used as a vertex buffer in render passes.
UNIFORM(number)- – Buffer can be used as a uniform buffer in shaders. Read-only from shader perspective.
STORAGE(number)- – Buffer can be used as a storage buffer in shaders. Can be read and written by shaders.
INDIRECT(number)- – Buffer can be used as an indirect buffer for dispatch calls.
QUERY_RESOLVE(number)- – Buffer can be the destination for query results.