55 lines
2.0 KiB
TypeScript
55 lines
2.0 KiB
TypeScript
/**
|
|
* Buffer usage flags. they can be combined using the bitwise OR operator
|
|
* eg : BufferUsage.VERTEX | BufferUsage.INDEX
|
|
* @memberof rendering
|
|
*/
|
|
export declare enum BufferUsage {
|
|
/**
|
|
* The buffer can be mapped for reading. (Example: calling mapAsync() with GPUMapMode.READ)
|
|
* May only be combined with COPY_DST.
|
|
*/
|
|
MAP_READ = 1,
|
|
/**
|
|
* The buffer can be mapped for writing. (Example: calling mapAsync() with GPUMapMode.WRITE)
|
|
* May only be combined with COPY_SRC.
|
|
*/
|
|
MAP_WRITE = 2,
|
|
/**
|
|
* The buffer can be used as the source of a copy operation.
|
|
* (Examples: as the source argument of a copyBufferToBuffer() or copyBufferToTexture() call.)
|
|
*/
|
|
COPY_SRC = 4,
|
|
/**
|
|
* The buffer can be used as the destination of a copy or write operation.
|
|
* (Examples: as the destination argument of a copyBufferToBuffer() or
|
|
* copyTextureToBuffer() call, or as the target of a writeBuffer() call.)
|
|
*/
|
|
COPY_DST = 8,
|
|
/** The buffer can be used as an index buffer. (Example: passed to setIndexBuffer().) */
|
|
INDEX = 16,
|
|
/** The buffer can be used as a vertex buffer. (Example: passed to setVertexBuffer().) */
|
|
VERTEX = 32,
|
|
/**
|
|
* The buffer can be used as a uniform buffer.
|
|
* (Example: as a bind group entry for a GPUBufferBindingLayout with a buffer.type of "uniform".)
|
|
*/
|
|
UNIFORM = 64,
|
|
/**
|
|
* The buffer can be used as a storage buffer.
|
|
* (Example: as a bind group entry for a GPUBufferBindingLayout with a buffer.type of "storage" or "read-only-storage".)
|
|
*/
|
|
STORAGE = 128,
|
|
/**
|
|
* The buffer can be used as to store indirect command arguments.
|
|
* (Examples: as the indirectBuffer argument of a drawIndirect() or dispatchWorkgroupsIndirect() call.)
|
|
*/
|
|
INDIRECT = 256,
|
|
/**
|
|
* The buffer can be used to capture query results.
|
|
* (Example: as the destination argument of a resolveQuerySet() call.)
|
|
*/
|
|
QUERY_RESOLVE = 512,
|
|
/** the buffer will not be updated frequently */
|
|
STATIC = 1024
|
|
}
|