SDL_GPUComputePipeline * SDL_CreateGPUComputePipeline(SDL_GPUDevice *device, const SDL_GPUComputePipelineCreateInfo *createinfo);
| SDL_GPUDevice * | device | GPUコンテキスト |
| const SDL_GPUComputePipelineCreateInfo * | createinfo | 生成するコンピュートパイプラインの状態を表す構造体 |
シェーダリソースのバインドはシェーダの形式に依存する特定の順序で記述する必要がある.
SPIR-Vシェーダは次のリソースセットを使用する:
頂点シェーダの場合:
0: サンプリングされたテクスチャ, その次に読取専用のストレージテクスチャ, その次に読取専用のストレージバッファ
1: 読み書き可能なストレージテクスチャ, その次に読み書き可能なストレージバッファ
2: ユニフォームバッファ
DXBCまたはDXILシェーダは次のレジスタの順で使用する:
(t[n], space0): サンプリングされたテクスチャ, その次に読取専用のストレージテクスチャ, その次に読取専用のストレージバッファ
(u[n], space1): 読み書き可能なストレージテクスチャ, その次に読み書き可能なストレージバッファ
(b[n], space2): ユニフォームバッファ
MSL/metallibは次の順で使用する:
[[buffer]]: ユニフォームバッファ, その次に読取専用のストレージバッファ, その次に読み書き可能なストレージバッファ
[[texture]]: サンプリングされたテクスチャ, その次に読取専用のストレージテクスチャ, その次に読み書き可能なストレージテクスチャ
その他の任意のプロパティはpropsで設定できる.
対応するプロパティ:
SDL_PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING: デバッグツールに表示される名前