目次 - SDL 3.0 API(機能別) - 3DレンダリングとGPUコンピューティング - SDL_WaitAndAcquireGPUSwapchainTexture

SDL_WaitAndAcquireGPUSwapchainTexture

スワップチェーンテクスチャを要求できるまでスレッドをブロックし, その後に要求する

ヘッダ

SDL3/SDL_gpu.h

構文

bool SDL_WaitAndAcquireGPUSwapchainTexture(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も可

戻り値

(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

コマンドバッファでスワップチェーンテクスチャを要求した場合, コマンドバッファが送信されるとき自動的にプレゼンテーションとして送信される. スワップチェーンテクスチャを参照できるのは, それを要求するために使用したコマンドバッファのみである. スワップチェーンテクスチャを要求した後でSDL_CancelGPUCommandBuffer()を呼ぶことは不正である.

この関数は, 例えばウィンドウが最小化されている場合などにスワップチェーンテクスチャとしてNULLを戻す場合がある. これはエラーではない. 実際に使用する間にポインタがNULLかそうでないかを常にチェックする必要がある.

スワップチェーンテクスチャは実装側で管理されており, ユーザは解放してはならない. この関数はウィンドウを生成したスレッド以外からは呼んではならない.

スワップチェーンテクスチャは書き込み専用であり, サンプラやその他の読み込み操作をしてはならない.

スレッドセーフ

この関数を呼べるのはウィンドウを生成したスレッドのみである.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_WaitAndAcquireGPUSwapchainTexture - SDL Wiki