Package icyllis.arc3d.engine
Interface Engine.BufferUsageFlags
- Enclosing interface:
Engine
public static interface Engine.BufferUsageFlags
Describes the intended usage (type + access) a GPU buffer.
This will affect memory allocation and pipeline commands.
Note that the special type flag kUpload
and kReadback
cannot be combined with other type flags, and must be kHostVisible
.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
Data store will be written to once by CPU.static final int
Indirect buffer, also known as argument buffer.static final int
Data store will be written to occasionally, CPU writes, GPU reads.static final int
Index buffer, also known as element buffer.static final int
Read-back buffers for device to CPU transfer.static final int
Shader storage buffer, may be combined with other type flags.static final int
static final int
Uniform buffer, also known as constant buffer.static final int
Staging buffers for CPU to device transfer.static final int
Vertex buffer (also includes instance buffer).
-
Field Details
-
kVertex
static final int kVertexVertex buffer (also includes instance buffer).- See Also:
-
kIndex
static final int kIndexIndex buffer, also known as element buffer.- See Also:
-
kDrawIndirect
static final int kDrawIndirectIndirect buffer, also known as argument buffer. Not always available, check caps first.- See Also:
-
kUpload
static final int kUploadStaging buffers for CPU to device transfer.- See Also:
-
kReadback
static final int kReadbackRead-back buffers for device to CPU transfer.- See Also:
-
kUniform
static final int kUniformUniform buffer, also known as constant buffer. It's better not to combine this with other type flags.- See Also:
-
kStorage
static final int kStorageShader storage buffer, may be combined with other type flags.- See Also:
-
kDeviceLocal
static final int kDeviceLocalData store will be written to once by CPU. Use device-local only memory. A staging buffer is required to update it contents. For static or dynamic VBO, static UBO.- See Also:
-
kHostVisible
static final int kHostVisibleData store will be written to occasionally, CPU writes, GPU reads. Use host-visible host-coherent memory and persistent mapping, and possibly device-local. If write-combined memory is used, then write directly and requires sync. For streaming VBO, dynamic or streaming UBO.- See Also:
-
kTypeMask
static final int kTypeMask- See Also:
-
kAccessMask
static final int kAccessMask- See Also:
-