typedef Uint32 SDL_GPUBufferUsageFlags;
| SDL_GPU_BUFFERUSAGE_VERTEX | (1u << 0) | バッファは頂点バッファである |
| SDL_GPU_BUFFERUSAGE_INDEX | (1u << 1) | バッファはインデックスバッファである |
| SDL_GPU_BUFFERUSAGE_INDIRECT | (1u << 2) | バッファは間接バッファである |
| SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ | (1u << 3) | バッファはグラフィックステージのストレージ読込に対応する |
| SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ | (1u << 4) | バッファはコンピューティングステージのストレージ読込に対応する |
| SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE | (1u << 5) | バッファはコンピューティングステージのストレージ書込に対応する |
バッファは少なくとも1つのフラグを必要とする. フラグの不正な組み合わせに注意すること.
テクスチャとは異なり, READ | WRITEを読み書きを同時に行うために使用できる. テクスチャと同様に同一データの同期の注意事項がある.
STORAGEフラグを使用する場合, バッファのデータはstd140レイアウトの仕様に従う必要がある.
具体的には, vec3およびvec4フィールドは16バイト境界に合わせる必要がある.