# SDL_SetGPUAllowedFramesInFlight

Configures the maximum allowed number of frames in flight.

## Header File

Defined in [<SDL3/SDL_gpu.h>](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_gpu.h)

## Syntax

```c
bool SDL_SetGPUAllowedFramesInFlight(
    SDL_GPUDevice *device,
    Uint32 allowed_frames_in_flight);
```

## Function Parameters

|                                  |                              |                                                              |
| -------------------------------- | ---------------------------- | ------------------------------------------------------------ |
| [SDL_GPUDevice](SDL_GPUDevice) * | **device**                   | a GPU context.                                               |
| [Uint32](Uint32)                 | **allowed_frames_in_flight** | the maximum number of frames that can be pending on the GPU. |

## Return Value

(bool) Returns true if successful, false on error; call
[SDL_GetError](SDL_GetError)() for more information.

## Remarks

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](SDL_AcquireGPUSwapchainTexture)() will
fill the swapchain texture pointer with NULL, and
[SDL_WaitAndAcquireGPUSwapchainTexture](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.

## Version

This function is available since SDL 3.2.0.

----
[CategoryAPI](CategoryAPI), [CategoryAPIFunction](CategoryAPIFunction), [CategoryGPU](CategoryGPU)