SDL_GPUColorTargetInfo.3type - Man Page
A structure specifying the parameters of a color target used by a render pass.
Header File
Defined in SDL3/SDL_gpu.h
Synopsis
#include "SDL3/SDL.h" typedef struct SDL_GPUColorTargetInfo { SDL_GPUTexture *texture; /**< The texture that will be used as a color target by a render pass. */ Uint32 mip_level; /**< The mip level to use as a color target. */ Uint32 layer_or_depth_plane; /**< The layer index or depth plane to use as a color target. This value is treated as a layer index on 2D array and cube textures, and as a depth plane on 3D textures. */ SDL_FColor clear_color; /**< The color to clear the color target to at the start of the render pass. Ignored if SDL_GPU_LOADOP_CLEAR is not used. */ SDL_GPULoadOp load_op; /**< What is done with the contents of the color target at the beginning of the render pass. */ SDL_GPUStoreOp store_op; /**< What is done with the results of the render pass. */ SDL_GPUTexture *resolve_texture; /**< The texture that will receive the results of a multisample resolve operation. Ignored if a RESOLVE* store_op is not used. */ Uint32 resolve_mip_level; /**< The mip level of the resolve texture to use for the resolve operation. Ignored if a RESOLVE* store_op is not used. */ Uint32 resolve_layer; /**< The layer index of the resolve texture to use for the resolve operation. Ignored if a RESOLVE* store_op is not used. */ bool cycle; /**< true cycles the texture if the texture is bound and load_op is not LOAD */ bool cycle_resolve_texture; /**< true cycles the resolve texture if the resolve texture is bound. Ignored if a RESOLVE* store_op is not used. */ Uint8 padding1; Uint8 padding2; } SDL_GPUColorTargetInfo;
Description
The load_op field determines what is done with the texture at the beginning of the render pass.
· LOAD: Loads the data currently in the texture. Not recommended for
multisample textures as it requires significant memory bandwidth.
· CLEAR: Clears the texture to a single color.
· DONT_CARE: The driver will do whatever it wants with the texture memory.
This is a good option if you know that every single pixel will be touched
in the render pass.
The store_op field determines what is done with the color results of the render pass.
· STORE: Stores the results of the render pass in the texture. Not
recommended for multisample textures as it requires significant memory
bandwidth.
· DONT_CARE: The driver will do whatever it wants with the texture memory.
This is often a good option for depth/stencil textures.
· RESOLVE: Resolves a multisample texture into resolve_texture, which must
have a sample count of 1. Then the driver may discard the multisample
texture memory. This is the most performant method of resolving a
multisample target.
· RESOLVE_AND_STORE: Resolves a multisample texture into the
resolve_texture, which must have a sample count of 1. Then the driver
stores the multisample texture's contents. Not recommended as it requires
significant memory bandwidth.
Availability
This struct is available since SDL 3.2.0.