SDL Wiki
[ front page | index | search | recent changes | git repo | offline html ]

SDL_GPUTextureTransferInfo

A structure specifying parameters related to transferring data to or from a texture.

Header File

Defined in <SDL3/SDL_gpu.h>

Syntax

typedef struct SDL_GPUTextureTransferInfo
{
    SDL_GPUTransferBuffer *transfer_buffer;  /**< The transfer buffer used in the transfer operation. */
    Uint32 offset;                           /**< The starting byte of the image data in the transfer buffer. */
    Uint32 pixels_per_row;                   /**< The number of pixels from one row to the next. */
    Uint32 rows_per_layer;                   /**< The number of rows from one layer/depth-slice to the next. */
} SDL_GPUTextureTransferInfo;

Remarks

If either of pixels_per_row or rows_per_layer is zero, then width and height of passed SDL_GPUTextureRegion to SDL_UploadToGPUTexture or SDL_DownloadFromGPUTexture are used as default values respectively and data is considered to be tightly packed.

WARNING: Direct3D 12 requires texture data row pitch to be 256 byte aligned, and offsets to be aligned to 512 bytes. If they are not, SDL will make a temporary copy of the data that is properly aligned, but this adds overhead to the transfer process. Apps can avoid this by aligning their data appropriately, or using a different GPU backend than Direct3D 12.

Version

This struct is available since SDL 3.2.0.

See Also


CategoryAPI, CategoryAPIStruct, CategoryGPU


[ edit | delete | history | feedback | raw ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.