SDL 3.0
SDL_GPUTextureTransferInfo Struct Reference

#include <SDL_gpu.h>

Data Fields

SDL_GPUTransferBuffertransfer_buffer
Uint32 offset
Uint32 pixels_per_row
Uint32 rows_per_layer

Detailed Description

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

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: On some older/integrated hardware, 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.

Since
This struct is available since SDL 3.2.0.
See also
SDL_UploadToGPUTexture
SDL_DownloadFromGPUTexture

Definition at line 1413 of file SDL_gpu.h.

Field Documentation

◆ offset

Uint32 SDL_GPUTextureTransferInfo::offset

The starting byte of the image data in the transfer buffer.

Definition at line 1416 of file SDL_gpu.h.

◆ pixels_per_row

Uint32 SDL_GPUTextureTransferInfo::pixels_per_row

The number of pixels from one row to the next.

Definition at line 1417 of file SDL_gpu.h.

◆ rows_per_layer

Uint32 SDL_GPUTextureTransferInfo::rows_per_layer

The number of rows from one layer/depth-slice to the next.

Definition at line 1418 of file SDL_gpu.h.

◆ transfer_buffer

SDL_GPUTransferBuffer* SDL_GPUTextureTransferInfo::transfer_buffer

The transfer buffer used in the transfer operation.

Definition at line 1415 of file SDL_gpu.h.


The documentation for this struct was generated from the following file: