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
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intData store will be written to once by CPU.static final intIndirect buffer, also known as argument buffer.static final intData store will be written to occasionally, CPU writes, GPU reads.static final intIndex buffer, also known as element buffer.static final intRead-back buffers for device to CPU transfer.static final intShader storage buffer, may be combined with other type flags.static final intstatic final intUniform buffer, also known as constant buffer.static final intStaging buffers for CPU to device transfer.static final intVertex 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:
-