Variables

@:value(cast 1)@:enum@:implinlineread onlyMapRead:BufferUsage = 1

@:value(cast 2)@:enum@:implinlineread onlyMapWrite:BufferUsage = 2

@:value(cast 4)@:enum@:implinlineread onlyCopySrc:BufferUsage = 4

@:value(cast 8)@:enum@:implinlineread onlyCopyDst:BufferUsage = 8

@:value(cast 16)@:enum@:implinlineread onlyIndex:BufferUsage = 16

@:value(cast 32)@:enum@:implinlineread onlyVertex:BufferUsage = 32

@:value(cast 64)@:enum@:implinlineread onlyUniform:BufferUsage = 64

@:value(cast 128)@:enum@:implinlineread onlyStorage:BufferUsage = 128

@:value(cast 256)@:enum@:implinlineread onlyIndirect:BufferUsage = 256

@:value(cast 501)@:enum@:implinlineread onlyReadAll:BufferUsage = 501

The combination of all read-only usages.

@:value(cast 138)@:enum@:implinlineread onlyWriteAll:BufferUsage = 138

The combination of all write-only and read-write usages.

@:value(cast 511)@:enum@:implinlineread onlyOrdered:BufferUsage = 511

The combination of all usages that the are guaranteed to be be ordered by the hardware. If a usage is not ordered, then even if it doesn't change between draw calls, there still need to be pipeline barriers inserted for synchronization.