GPU: Add SDL_CalculateGPUTextureFormatSize (#11146)

---------

Co-authored-by: Sam Lantinga <slouken@libsdl.org>
This commit is contained in:
Evan Hemsley 2024-10-10 16:34:38 -07:00 committed by GitHub
parent 6d85127560
commit 6ea4a66451
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 34 additions and 13 deletions

View file

@ -2796,3 +2796,16 @@ void SDL_ReleaseGPUFence(
device->driverData,
fence);
}
Uint32 SDL_CalculateGPUTextureFormatSize(
SDL_GPUTextureFormat format,
Uint32 width,
Uint32 height,
Uint32 depth_or_layer_count)
{
Uint32 blockWidth = Texture_GetBlockWidth(format);
Uint32 blockHeight = Texture_GetBlockHeight(format);
Uint32 blocksPerRow = (width + blockWidth - 1) / blockWidth;
Uint32 blocksPerColumn = (height + blockHeight - 1) / blockHeight;
return depth_or_layer_count * blocksPerRow * blocksPerColumn * SDL_GPUTextureFormatTexelBlockSize(format);
}