sdlSetGpuAllowedFramesInFlight function
Configures the maximum allowed number of frames in flight.
The default value when the device is created is 2. This means that after you have submitted 2 frames for presentation, if the GPU has not finished working on the first frame, SDL_AcquireGPUSwapchainTexture() will fill the swapchain texture pointer with NULL, and SDL_WaitAndAcquireGPUSwapchainTexture() will block.
Higher values increase throughput at the expense of visual latency. Lower values decrease visual latency at the expense of throughput.
Note that calling this function will stall and flush the command queue to prevent synchronization issues.
The minimum value of allowed frames in flight is 1, and the maximum is 3.
\param device a GPU context. \param allowed_frames_in_flight the maximum number of frames that can be pending on the GPU. \returns true if successful, false on error; call SDL_GetError() for more information.
\since This function is available since SDL 3.2.0.
extern SDL_DECLSPEC bool SDLCALL SDL_SetGPUAllowedFramesInFlight( SDL_GPUDevice *device, Uint32 allowed_frames_in_flight)
Implementation
bool sdlSetGpuAllowedFramesInFlight(
Pointer<SdlGpuDevice> device, int allowedFramesInFlight) {
final sdlSetGpuAllowedFramesInFlightLookupFunction = libSdl3.lookupFunction<
Uint8 Function(
Pointer<SdlGpuDevice> device, Uint32 allowedFramesInFlight),
int Function(Pointer<SdlGpuDevice> device,
int allowedFramesInFlight)>('SDL_SetGPUAllowedFramesInFlight');
return sdlSetGpuAllowedFramesInFlightLookupFunction(
device, allowedFramesInFlight) ==
1;
}