---
name: "SDL_GPUPresentMode"
section: "3type"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_GPUPresentMode"
---

# SDL\_GPUPresentMode(3type)

Specifies the timing that will be used to present swapchain textures to the OS.

## NAME

SDL\_GPUPresentMode - Specifies the timing that will be used to present swapchain textures to the OS.

## HEADER FILE

Defined in SDL3/SDL\_gpu.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**typedef enum SDL\_GPUPresentMode** **{**     **SDL\_GPU\_PRESENTMODE\_VSYNC,**     **SDL\_GPU\_PRESENTMODE\_IMMEDIATE,**     **SDL\_GPU\_PRESENTMODE\_MAILBOX** **} SDL\_GPUPresentMode;**

## DESCRIPTION

VSYNC mode will always be supported. IMMEDIATE and MAILBOX modes may not be supported on certain systems.

It is recommended to query

**SDL\_WindowSupportsGPUPresentMode**\
  after claiming the window if you wish to change the present mode to IMMEDIATE or MAILBOX.

• VSYNC: Waits for vblank before presenting. No tearing is possible. If\
   there is a pending image to present, the new image is enqueued for\
   presentation. Disallows tearing at the cost of visual latency.

• IMMEDIATE: Immediately presents. Lowest latency option, but tearing may\
   occur.

• MAILBOX: Waits for vblank before presenting. No tearing is possible. If\
   there is a pending image to present, the pending image is replaced by the\
   new image. Similar to VSYNC, but with reduced visual latency.

## AVAILABILITY

This enum is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_SetGPUSwapchainParameters**(3)](/SDL_SetGPUSwapchainParameters/3.md), **•**(3), [**SDL\_WindowSupportsGPUPresentMode**(3)](/SDL_WindowSupportsGPUPresentMode/3.md), **•**(3), [**SDL\_WaitAndAcquireGPUSwapchainTexture**(3)](/SDL_WaitAndAcquireGPUSwapchainTexture/3.md)
