Scroll to navigation

SDL_GPUPresentMode(3type) SDL3 DATATYPES SDL_GPUPresentMode(3type)

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

Note that this value affects the behavior of

SDL_AcquireGPUSwapchainTexture . 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. When using
this present mode, AcquireGPUSwapchainTexture will block if too many
frames are in flight.

• IMMEDIATE: Immediately presents. Lowest latency option, but tearing may
occur. When using this mode, AcquireGPUSwapchainTexture will fill the
swapchain texture pointer with NULL if too many frames are in flight.

• 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. When using
this mode, AcquireGPUSwapchainTexture will fill the swapchain texture
pointer with NULL if too many frames are in flight.

AVAILABILITY

This enum is available since SDL 3.1.3

SEE ALSO

(3), SDL_SetGPUSwapchainParameters(3), (3), SDL_WindowSupportsGPUPresentMode(3), (3), SDL_AcquireGPUSwapchainTexture(3)

SDL 3.1.6 Simple Directmedia Layer