bool SDL_AddVulkanRenderSemaphores(SDL_Renderer *renderer, Uint32 wait_stage_mask, Sint64 wait_semaphore, Sint64 signal_semaphore);
| SDL_Renderer * | renderer | テクスチャの一部がコピーされるレンダラ |
| Uint32 | wait_stage_mask | 待機のVkPipelineStageFlagsフラグ |
| Sint64 | wait_semaphore | 現在のフレームの前の待機のVkSempahore. 不要のとき0 |
| Sint64 | signal_semaphore | 現在のフレームのレンダリングが完了したときSDLが発信するVkSempahore. 不要のとき0s |
(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.
Vulkanレンダラはレンダリングコマンドを発行する前にwait_semaphoreを待ち, そのフレームのコマンドが完了した後にsignal_semaphoreを発信する.
これはセマフォ同期が必要なフレームごとに行う必要がある. VulkanレンダラはGPUで複数のフレームを処理している可能性があるため, 同期のために複数のセマフォが必要である. SDL_PROP_RENDERER_VULKAN_SWAPCHAIN_IMAGE_COUNT_NUMBERで必要なセマフォの最大数が得られる.
この関数を複数のスレッドで同時に呼ぶのは安全ではない.