mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-06-06 06:34:35 +00:00
gdk: Update Suspend/Resume best practices.
Updated testgdk to demonstrate correct handling of suspend/resume and the new Render APIs, and updated the docs to explain the correct usage of these GDK functions.
This commit is contained in:
parent
ee5c5cf755
commit
12a435e11d
4 changed files with 61 additions and 20 deletions
|
|
@ -4581,12 +4581,14 @@ extern SDL_DECLSPEC SDL_GPUTextureFormat SDLCALL SDL_GetGPUTextureFormatFromPixe
|
|||
#ifdef SDL_PLATFORM_GDK
|
||||
|
||||
/**
|
||||
* Call this to suspend GPU operation on Xbox when you receive the
|
||||
* Call this to suspend GPU operation on Xbox after receiving the
|
||||
* SDL_EVENT_DID_ENTER_BACKGROUND event.
|
||||
*
|
||||
* Do NOT call any SDL_GPU functions after calling this function! This must
|
||||
* also be called before calling SDL_GDKSuspendComplete.
|
||||
*
|
||||
* This function MUST be called from the application's render thread.
|
||||
*
|
||||
* \param device a GPU context.
|
||||
*
|
||||
* \since This function is available since SDL 3.2.0.
|
||||
|
|
@ -4596,12 +4598,14 @@ extern SDL_DECLSPEC SDL_GPUTextureFormat SDLCALL SDL_GetGPUTextureFormatFromPixe
|
|||
extern SDL_DECLSPEC void SDLCALL SDL_GDKSuspendGPU(SDL_GPUDevice *device);
|
||||
|
||||
/**
|
||||
* Call this to resume GPU operation on Xbox when you receive the
|
||||
* Call this to resume GPU operation on Xbox after receiving the
|
||||
* SDL_EVENT_WILL_ENTER_FOREGROUND event.
|
||||
*
|
||||
* When resuming, this function MUST be called before calling any other
|
||||
* SDL_GPU functions.
|
||||
*
|
||||
* This function MUST be called from the application's render thread.
|
||||
*
|
||||
* \param device a GPU context.
|
||||
*
|
||||
* \since This function is available since SDL 3.2.0.
|
||||
|
|
|
|||
|
|
@ -664,8 +664,11 @@ extern SDL_DECLSPEC void SDLCALL SDL_UnregisterApp(void);
|
|||
/**
|
||||
* Callback from the application to let the suspend continue.
|
||||
*
|
||||
* This should be called from an event watch in response to an
|
||||
* `SDL_EVENT_DID_ENTER_BACKGROUND` event.
|
||||
* This should be called in response to an `SDL_EVENT_DID_ENTER_BACKGROUND` event,
|
||||
* which can be detected via event watch. However, do NOT call this function
|
||||
* directly from within an event watch callback. Instead, wait until the app has
|
||||
* suppressed all rendering operations, then call this from the application
|
||||
* render thread.
|
||||
*
|
||||
* When using SDL_Render, this should be called after calling SDL_GDKSuspendRenderer.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -3085,12 +3085,14 @@ extern SDL_DECLSPEC void SDLCALL SDL_DestroyGPURenderState(SDL_GPURenderState *s
|
|||
#ifdef SDL_PLATFORM_GDK
|
||||
|
||||
/**
|
||||
* Call this to suspend Render operations on Xbox when you receive the
|
||||
* Call this to suspend Render operations on Xbox after receiving the
|
||||
* SDL_EVENT_DID_ENTER_BACKGROUND event.
|
||||
*
|
||||
* Do NOT call any SDL_Render functions after calling this function! This must
|
||||
* also be called before calling SDL_GDKSuspendComplete.
|
||||
*
|
||||
* This function MUST be called on the application's render thread.
|
||||
*
|
||||
* \param renderer the renderer which should suspend operation
|
||||
*
|
||||
* \since This function is available since SDL 3.6.0.
|
||||
|
|
@ -3100,12 +3102,14 @@ extern SDL_DECLSPEC void SDLCALL SDL_DestroyGPURenderState(SDL_GPURenderState *s
|
|||
extern SDL_DECLSPEC void SDLCALL SDL_GDKSuspendRenderer(SDL_Renderer *renderer);
|
||||
|
||||
/**
|
||||
* Call this to resume Render operations on Xbox when you receive the
|
||||
* Call this to resume Render operations on Xbox after receiving the
|
||||
* SDL_EVENT_WILL_ENTER_FOREGROUND event.
|
||||
*
|
||||
* When resuming, this function MUST be called before calling any other
|
||||
* SDL_Render functions.
|
||||
*
|
||||
* This function MUST be called on the application's render thread.
|
||||
*
|
||||
* \param renderer the renderer which should resume operation
|
||||
*
|
||||
* \since This function is available since SDL 3.6.0.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue