Merge branch '12.0-development' into metal

This commit is contained in:
Alex Szpakowski
2021-12-24 15:34:05 -04:00
511 changed files with 5066 additions and 2506 deletions
+35 -1
View File
@@ -1,5 +1,5 @@
/**
* Copyright (c) 2006-2020 LOVE Development Team
* Copyright (c) 2006-2021 LOVE Development Team
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
@@ -35,25 +35,43 @@ enum PixelFormat
// 1-channel normal formats
PIXELFORMAT_R8_UNORM,
PIXELFORMAT_R8_INT,
PIXELFORMAT_R8_UINT,
PIXELFORMAT_R16_UNORM,
PIXELFORMAT_R16_FLOAT,
PIXELFORMAT_R16_INT,
PIXELFORMAT_R16_UINT,
PIXELFORMAT_R32_FLOAT,
PIXELFORMAT_R32_INT,
PIXELFORMAT_R32_UINT,
// 2-channel normal formats
PIXELFORMAT_RG8_UNORM,
PIXELFORMAT_RG8_INT,
PIXELFORMAT_RG8_UINT,
PIXELFORMAT_LA8_UNORM, // Same as RG8, but accessed as (L, L, L, A)
PIXELFORMAT_RG16_UNORM,
PIXELFORMAT_RG16_FLOAT,
PIXELFORMAT_RG16_INT,
PIXELFORMAT_RG16_UINT,
PIXELFORMAT_RG32_FLOAT,
PIXELFORMAT_RG32_INT,
PIXELFORMAT_RG32_UINT,
// 4-channel normal formats
PIXELFORMAT_RGBA8_UNORM,
PIXELFORMAT_RGBA8_UNORM_sRGB,
PIXELFORMAT_BGRA8_UNORM,
PIXELFORMAT_BGRA8_UNORM_sRGB,
PIXELFORMAT_RGBA8_INT,
PIXELFORMAT_RGBA8_UINT,
PIXELFORMAT_RGBA16_UNORM,
PIXELFORMAT_RGBA16_FLOAT,
PIXELFORMAT_RGBA16_INT,
PIXELFORMAT_RGBA16_UINT,
PIXELFORMAT_RGBA32_FLOAT,
PIXELFORMAT_RGBA32_INT,
PIXELFORMAT_RGBA32_UINT,
// packed formats
PIXELFORMAT_RGBA4_UNORM, // LSB->MSB: [a, b, g, r]
@@ -111,6 +129,16 @@ enum PixelFormat
PIXELFORMAT_MAX_ENUM
};
enum PixelFormatType
{
PIXELFORMATTYPE_UNORM,
PIXELFORMATTYPE_SNORM,
PIXELFORMATTYPE_UFLOAT,
PIXELFORMATTYPE_SFLOAT,
PIXELFORMATTYPE_UINT,
PIXELFORMATTYPE_SINT,
};
struct PixelFormatInfo
{
int components;
@@ -121,6 +149,7 @@ struct PixelFormatInfo
bool depth;
bool stencil;
bool compressed;
PixelFormatType dataType;
};
bool getConstant(PixelFormat in, const char *&out);
@@ -153,6 +182,11 @@ bool isPixelFormatStencil(PixelFormat format);
**/
bool isPixelFormatSRGB(PixelFormat format);
/**
* Gets whether the specified pixel format is a signed or unsigned integer type.
**/
bool isPixelFormatInteger(PixelFormat format);
/**
* Gets the sRGB version of a linear pixel format, if applicable.
**/