Expand description

Container for an untyped blob of data.

Structs

ByteAddressableBuffer is an untyped blob of data, allowing loads and stores of arbitrary basic data types at arbitrary indicies. However, all data must be aligned to size 4, each element within the data (e.g. struct fields) must have a size and alignment of a multiple of 4, and the byte_index passed to load and store must be a multiple of 4 (byte_index will be rounded down to the nearest multiple of 4). So, it’s not technically a byte addressable buffer, but rather a word buffer, but this naming and behavior was inhereted from HLSL (where it’s UB to pass in an index not a multiple of 4).