bool SDL_AcquireGPUSwapchainTexture(SDL_GPUCommandBuffer *command_buffer, SDL_Window *window, SDL_GPUTexture **swapchain_texture, Uint32 *swapchain_texture_width, Uint32 *swapchain_texture_height);
| SDL_GPUCommandBuffer * | command_buffer | コマンドバッファ |
| SDL_Window * | window | 要求するウィンドウ |
| SDL_GPUTexture ** | swapchain_texture | スワップチェーンテクスチャの代入先へのポインタ |
| Uint32 * | swapchain_texture_width | スワップチェーンテクスチャの幅の代入先へのポインタ. NULLも可 |
| Uint32 * | swapchain_texture_height | スワップチェーンテクスチャの高さの代入先へのポインタ. NULLも可 |
コマンドバッファでスワップチェーンテクスチャを要求した場合, コマンドバッファが送信されるとき自動的にプレゼンテーションとして送信される. スワップチェーンテクスチャを参照できるのは, それを要求するために使用したコマンドバッファのみである.
この関数は要求中のフレームが多すぎる場合, スワップチェーンテクスチャとしてNULLを戻すことがある. これはエラーではない. このNULLポインタをSDLに返してはならない. 代わりに, これはスワップチェーンが可能になるまで待つための手段と考えるべきである.
この関数を使用すると, レンダリングコンテキストがGPUの処理を待つ間に多くのコマンドバッファが確保され, 結果としてメモリの使用量が増大する場合がある. タイミングの扱いによく慣れている場合を除き, SDL_WaitAndAcquireGPUSwapchainTexture()を使用するべきである.
スワップチェーンテクスチャは実装側で管理されており, ユーザは解放してはならない. この関数はウィンドウを生成したスレッド以外からは呼んではならない.
この関数を呼べるのはウィンドウを生成したスレッドのみである.