mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-01-19 03:17:09 +00:00
GPU: Add SDL_CancelGPUCommandBuffer (#11316)
--------- Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
This commit is contained in:
@@ -3529,6 +3529,11 @@ extern SDL_DECLSPEC SDL_GPUTextureFormat SDLCALL SDL_GetGPUSwapchainTextureForma
|
||||
* freed by the user. You MUST NOT call this function from any thread other
|
||||
* than the one that created the window.
|
||||
*
|
||||
* When using SDL_GPU_PRESENTMODE_VSYNC, this function will block if too many frames are in flight.
|
||||
* Otherwise, this function will fill the swapchain texture handle with NULL if too many frames are in flight.
|
||||
* The best practice is to call SDL_CancelGPUCommandBuffer if the swapchain texture handle is NULL
|
||||
* to avoid enqueuing needless work on the GPU.
|
||||
*
|
||||
* \param command_buffer a command buffer.
|
||||
* \param window a window that has been claimed.
|
||||
* \param swapchain_texture a pointer filled in with a swapchain texture
|
||||
@@ -3542,9 +3547,11 @@ extern SDL_DECLSPEC SDL_GPUTextureFormat SDLCALL SDL_GetGPUSwapchainTextureForma
|
||||
*
|
||||
* \since This function is available since SDL 3.1.3.
|
||||
*
|
||||
* \sa SDL_GPUPresentMode
|
||||
* \sa SDL_ClaimWindowForGPUDevice
|
||||
* \sa SDL_SubmitGPUCommandBuffer
|
||||
* \sa SDL_SubmitGPUCommandBufferAndAcquireFence
|
||||
* \sa SDL_CancelGPUCommandBuffer
|
||||
* \sa SDL_GetWindowSizeInPixels
|
||||
*/
|
||||
extern SDL_DECLSPEC bool SDLCALL SDL_AcquireGPUSwapchainTexture(
|
||||
@@ -3603,6 +3610,26 @@ extern SDL_DECLSPEC bool SDLCALL SDL_SubmitGPUCommandBuffer(
|
||||
extern SDL_DECLSPEC SDL_GPUFence *SDLCALL SDL_SubmitGPUCommandBufferAndAcquireFence(
|
||||
SDL_GPUCommandBuffer *command_buffer);
|
||||
|
||||
/**
|
||||
* Cancels a command buffer. None of the enqueued commands are executed.
|
||||
*
|
||||
* This must be called from the thread the command buffer was acquired on.
|
||||
*
|
||||
* You must not reference the command buffer after calling this function.
|
||||
* It is an error to call this function after a swapchain texture has been acquired.
|
||||
*
|
||||
* \param command_buffer a command buffer.
|
||||
* \returns true on success, false on error; call SDL_GetError() for more
|
||||
* information.
|
||||
*
|
||||
* \since This function is available since SDL 3.2.0.
|
||||
*
|
||||
* \sa SDL_AcquireGPUCommandBuffer
|
||||
* \sa SDL_AcquireGPUSwapchainTexture
|
||||
*/
|
||||
extern SDL_DECLSPEC bool SDLCALL SDL_CancelGPUCommandBuffer(
|
||||
SDL_GPUCommandBuffer *command_buffer);
|
||||
|
||||
/**
|
||||
* Blocks the thread until the GPU is completely idle.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user