|
@@ -26,81 +26,99 @@ namespace love
|
|
|
|
|
|
static PixelFormatInfo formatInfo[] =
|
|
|
{
|
|
|
- // components, blockW, blockH, blockSize, color, depth, stencil, compressed
|
|
|
- { 0, 1, 1, 0, false, false, false, false }, // PIXELFORMAT_UNKNOWN
|
|
|
-
|
|
|
- { 0, 1, 1, 0, true, false, false, false }, // PIXELFORMAT_NORMAL
|
|
|
- { 0, 1, 1, 0, true, false, false, false }, // PIXELFORMAT_HDR
|
|
|
-
|
|
|
- { 1, 1, 1, 1, true, false, false, false }, // PIXELFORMAT_R8_UNORM
|
|
|
- { 1, 1, 1, 2, true, false, false, false }, // PIXELFORMAT_R16_UNORM
|
|
|
- { 1, 1, 1, 2, true, false, false, false }, // PIXELFORMAT_R16_FLOAT
|
|
|
- { 1, 1, 1, 4, true, false, false, false }, // PIXELFORMAT_R32_FLOAT
|
|
|
-
|
|
|
- { 2, 1, 1, 2, true, false, false, false }, // PIXELFORMAT_RG8_UNORM
|
|
|
- { 2, 1, 1, 2, true, false, false, false }, // PIXELFORMAT_LA8_UNORM
|
|
|
- { 2, 1, 1, 4, true, false, false, false }, // PIXELFORMAT_RG16_UNORM
|
|
|
- { 2, 1, 1, 4, true, false, false, false }, // PIXELFORMAT_RG16_FLOAT
|
|
|
- { 2, 1, 1, 8, true, false, false, false }, // PIXELFORMAT_RG32_FLOAT
|
|
|
-
|
|
|
- { 4, 1, 1, 4, true, false, false, false }, // PIXELFORMAT_RGBA8_UNORM
|
|
|
- { 4, 1, 1, 4, true, false, false, false }, // PIXELFORMAT_sRGBA8_UNORM
|
|
|
- { 4, 1, 1, 8, true, false, false, false }, // PIXELFORMAT_RGBA16_UNORM
|
|
|
- { 4, 1, 1, 8, true, false, false, false }, // PIXELFORMAT_RGBA16_FLOAT
|
|
|
- { 4, 1, 1, 16, true, false, false, false }, // PIXELFORMAT_RGBA32_FLOAT
|
|
|
-
|
|
|
- { 4, 1, 1, 2, true, false, false, false }, // PIXELFORMAT_RGBA4_UNORM
|
|
|
- { 4, 1, 1, 2, true, false, false, false }, // PIXELFORMAT_RGB5A1_UNORM
|
|
|
- { 3, 1, 1, 2, true, false, false, false }, // PIXELFORMAT_RGB565_UNORM
|
|
|
- { 4, 1, 1, 4, true, false, false, false }, // PIXELFORMAT_RGB10A2_UNORM
|
|
|
- { 3, 1, 1, 4, true, false, false, false }, // PIXELFORMAT_RG11B10_FLOAT
|
|
|
-
|
|
|
- { 1, 1, 1, 1, false, false, true , false }, // PIXELFORMAT_STENCIL8
|
|
|
- { 1, 1, 1, 2, false, true, false, false }, // PIXELFORMAT_DEPTH16_UNORM
|
|
|
- { 1, 1, 1, 3, false, true, false, false }, // PIXELFORMAT_DEPTH24_UNORM
|
|
|
- { 1, 1, 1, 4, false, true, false, false }, // PIXELFORMAT_DEPTH32_FLOAT
|
|
|
- { 2, 1, 1, 4, false, true, true , false }, // PIXELFORMAT_DEPTH24_UNORM_STENCIL8
|
|
|
- { 2, 1, 1, 5, false, true, true , false }, // PIXELFORMAT_DEPTH32_FLOAT_STENCIL8
|
|
|
-
|
|
|
- { 3, 4, 4, 8, true, false, false, true }, // PIXELFORMAT_DXT1_UNORM
|
|
|
- { 4, 4, 4, 16, true, false, false, true }, // PIXELFORMAT_DXT3_UNORM
|
|
|
- { 4, 4, 4, 16, true, false, false, true }, // PIXELFORMAT_DXT5_UNORM
|
|
|
- { 1, 4, 4, 8, true, false, false, true }, // PIXELFORMAT_BC4_UNORM
|
|
|
- { 1, 4, 4, 8, true, false, false, true }, // PIXELFORMAT_BC4_SNORM
|
|
|
- { 2, 4, 4, 16, true, false, false, true }, // PIXELFORMAT_BC5_UNORM
|
|
|
- { 2, 4, 4, 16, true, false, false, true }, // PIXELFORMAT_BC5_SNORM
|
|
|
- { 3, 4, 4, 16, true, false, false, true }, // PIXELFORMAT_BC6H_UFLOAT
|
|
|
- { 3, 4, 4, 16, true, false, false, true }, // PIXELFORMAT_BC6H_FLOAT
|
|
|
- { 4, 4, 4, 16, true, false, false, true }, // PIXELFORMAT_BC7_UNORM
|
|
|
-
|
|
|
- { 3, 16, 8, 32, true, false, false, true }, // PIXELFORMAT_PVR1_RGB2_UNORM
|
|
|
- { 3, 8, 8, 32, true, false, false, true }, // PIXELFORMAT_PVR1_RGB4_UNORM
|
|
|
- { 4, 16, 8, 32, true, false, false, true }, // PIXELFORMAT_PVR1_RGBA2_UNORM
|
|
|
- { 4, 8, 8, 32, true, false, false, true }, // PIXELFORMAT_PVR1_RGBA4_UNORM
|
|
|
-
|
|
|
- { 3, 4, 4, 8, true, false, false, true }, // PIXELFORMAT_ETC1_UNORM
|
|
|
- { 3, 4, 4, 8, true, false, false, true }, // PIXELFORMAT_ETC2_RGB_UNORM
|
|
|
- { 4, 4, 4, 16, true, false, false, true }, // PIXELFORMAT_ETC2_RGBA_UNORM
|
|
|
- { 4, 4, 4, 8, true, false, false, true }, // PIXELFORMAT_ETC2_RGBA1_UNORM
|
|
|
- { 1, 4, 4, 8, true, false, false, true }, // PIXELFORMAT_EAC_R_UNORM
|
|
|
- { 1, 4, 4, 8, true, false, false, true }, // PIXELFORMAT_EAC_R_SNORM
|
|
|
- { 2, 4, 4, 16, true, false, false, true }, // PIXELFORMAT_EAC_RG_UNORM
|
|
|
- { 2, 4, 4, 16, true, false, false, true }, // PIXELFORMAT_EAC_RG_SNORM
|
|
|
-
|
|
|
- { 4, 4, 4, 1, true, false, false, true }, // PIXELFORMAT_ASTC_4x4
|
|
|
- { 4, 5, 4, 1, true, false, false, true }, // PIXELFORMAT_ASTC_5x4
|
|
|
- { 4, 5, 5, 1, true, false, false, true }, // PIXELFORMAT_ASTC_5x5
|
|
|
- { 4, 6, 5, 1, true, false, false, true }, // PIXELFORMAT_ASTC_6x5
|
|
|
- { 4, 6, 6, 1, true, false, false, true }, // PIXELFORMAT_ASTC_6x6
|
|
|
- { 4, 8, 5, 1, true, false, false, true }, // PIXELFORMAT_ASTC_8x5
|
|
|
- { 4, 8, 6, 1, true, false, false, true }, // PIXELFORMAT_ASTC_8x6
|
|
|
- { 4, 8, 8, 1, true, false, false, true }, // PIXELFORMAT_ASTC_8x8
|
|
|
- { 4, 8, 5, 1, true, false, false, true }, // PIXELFORMAT_ASTC_10x5
|
|
|
- { 4, 10, 6, 1, true, false, false, true }, // PIXELFORMAT_ASTC_10x6
|
|
|
- { 4, 10, 8, 1, true, false, false, true }, // PIXELFORMAT_ASTC_10x8
|
|
|
- { 4, 10, 10, 1, true, false, false, true }, // PIXELFORMAT_ASTC_10x10
|
|
|
- { 4, 12, 10, 1, true, false, false, true }, // PIXELFORMAT_ASTC_12x10
|
|
|
- { 4, 12, 12, 1, true, false, false, true }, // PIXELFORMAT_ASTC_12x12
|
|
|
+ // components, blockW, blockH, blockSize, color, depth, stencil, compressed, dataType
|
|
|
+ { 0, 1, 1, 0, false, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_UNKNOWN
|
|
|
+
|
|
|
+ { 0, 1, 1, 0, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_NORMAL
|
|
|
+ { 0, 1, 1, 0, true, false, false, false, PIXELFORMATTYPE_SFLOAT }, // PIXELFORMAT_HDR
|
|
|
+
|
|
|
+ { 1, 1, 1, 1, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_R8_UNORM
|
|
|
+ { 1, 1, 1, 1, true, false, false, false, PIXELFORMATTYPE_SINT }, // PIXELFORMAT_R8_INT
|
|
|
+ { 1, 1, 1, 1, true, false, false, false, PIXELFORMATTYPE_UINT }, // PIXELFORMAT_R8_UINT
|
|
|
+ { 1, 1, 1, 2, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_R16_UNORM
|
|
|
+ { 1, 1, 1, 2, true, false, false, false, PIXELFORMATTYPE_SFLOAT }, // PIXELFORMAT_R16_FLOAT
|
|
|
+ { 1, 1, 1, 2, true, false, false, false, PIXELFORMATTYPE_SINT }, // PIXELFORMAT_R16_INT
|
|
|
+ { 1, 1, 1, 2, true, false, false, false, PIXELFORMATTYPE_UINT }, // PIXELFORMAT_R16_UINT
|
|
|
+ { 1, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_SFLOAT }, // PIXELFORMAT_R32_FLOAT
|
|
|
+ { 1, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_SINT }, // PIXELFORMAT_R32_INT
|
|
|
+ { 1, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_UINT }, // PIXELFORMAT_R32_UINT
|
|
|
+
|
|
|
+ { 2, 1, 1, 2, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_RG8_UNORM
|
|
|
+ { 2, 1, 1, 2, true, false, false, false, PIXELFORMATTYPE_SINT }, // PIXELFORMAT_RG8_INT
|
|
|
+ { 2, 1, 1, 2, true, false, false, false, PIXELFORMATTYPE_UINT }, // PIXELFORMAT_RG8_UINT
|
|
|
+ { 2, 1, 1, 2, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_LA8_UNORM
|
|
|
+ { 2, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_RG16_UNORM
|
|
|
+ { 2, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_SFLOAT }, // PIXELFORMAT_RG16_FLOAT
|
|
|
+ { 2, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_SINT }, // PIXELFORMAT_RG16_INT
|
|
|
+ { 2, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_UINT }, // PIXELFORMAT_RG16_UINT
|
|
|
+ { 2, 1, 1, 8, true, false, false, false, PIXELFORMATTYPE_SFLOAT }, // PIXELFORMAT_RG32_FLOAT
|
|
|
+ { 2, 1, 1, 8, true, false, false, false, PIXELFORMATTYPE_SINT }, // PIXELFORMAT_RG32_INT
|
|
|
+ { 2, 1, 1, 8, true, false, false, false, PIXELFORMATTYPE_UINT }, // PIXELFORMAT_RG32_UINT
|
|
|
+
|
|
|
+ { 4, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_RGBA8_UNORM
|
|
|
+ { 4, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_sRGBA8_UNORM
|
|
|
+ { 4, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_SINT }, // PIXELFORMAT_RGBA8_INT
|
|
|
+ { 4, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_UINT }, // PIXELFORMAT_RGBA8_UINT
|
|
|
+ { 4, 1, 1, 8, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_RGBA16_UNORM
|
|
|
+ { 4, 1, 1, 8, true, false, false, false, PIXELFORMATTYPE_SFLOAT }, // PIXELFORMAT_RGBA16_FLOAT
|
|
|
+ { 4, 1, 1, 8, true, false, false, false, PIXELFORMATTYPE_SINT }, // PIXELFORMAT_RGBA16_INT
|
|
|
+ { 4, 1, 1, 8, true, false, false, false, PIXELFORMATTYPE_UINT }, // PIXELFORMAT_RGBA16_UINT
|
|
|
+ { 4, 1, 1, 16, true, false, false, false, PIXELFORMATTYPE_SFLOAT }, // PIXELFORMAT_RGBA32_FLOAT
|
|
|
+ { 4, 1, 1, 16, true, false, false, false, PIXELFORMATTYPE_SINT }, // PIXELFORMAT_RGBA32_INT
|
|
|
+ { 4, 1, 1, 16, true, false, false, false, PIXELFORMATTYPE_UINT }, // PIXELFORMAT_RGBA32_UINT
|
|
|
+
|
|
|
+ { 4, 1, 1, 2, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_RGBA4_UNORM
|
|
|
+ { 4, 1, 1, 2, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_RGB5A1_UNORM
|
|
|
+ { 3, 1, 1, 2, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_RGB565_UNORM
|
|
|
+ { 4, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_RGB10A2_UNORM
|
|
|
+ { 3, 1, 1, 4, true, false, false, false, PIXELFORMATTYPE_UFLOAT }, // PIXELFORMAT_RG11B10_FLOAT
|
|
|
+
|
|
|
+ { 1, 1, 1, 1, false, false, true , false, PIXELFORMATTYPE_UINT }, // PIXELFORMAT_STENCIL8
|
|
|
+ { 1, 1, 1, 2, false, true, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_DEPTH16_UNORM
|
|
|
+ { 1, 1, 1, 3, false, true, false, false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_DEPTH24_UNORM
|
|
|
+ { 1, 1, 1, 4, false, true, false, false, PIXELFORMATTYPE_SFLOAT }, // PIXELFORMAT_DEPTH32_FLOAT
|
|
|
+ { 2, 1, 1, 4, false, true, true , false, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_DEPTH24_UNORM_STENCIL8
|
|
|
+ { 2, 1, 1, 5, false, true, true , false, PIXELFORMATTYPE_SFLOAT }, // PIXELFORMAT_DEPTH32_FLOAT_STENCIL8
|
|
|
+
|
|
|
+ { 3, 4, 4, 8, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_DXT1_UNORM
|
|
|
+ { 4, 4, 4, 16, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_DXT3_UNORM
|
|
|
+ { 4, 4, 4, 16, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_DXT5_UNORM
|
|
|
+ { 1, 4, 4, 8, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_BC4_UNORM
|
|
|
+ { 1, 4, 4, 8, true, false, false, true, PIXELFORMATTYPE_SNORM }, // PIXELFORMAT_BC4_SNORM
|
|
|
+ { 2, 4, 4, 16, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_BC5_UNORM
|
|
|
+ { 2, 4, 4, 16, true, false, false, true, PIXELFORMATTYPE_SNORM }, // PIXELFORMAT_BC5_SNORM
|
|
|
+ { 3, 4, 4, 16, true, false, false, true, PIXELFORMATTYPE_UFLOAT }, // PIXELFORMAT_BC6H_UFLOAT
|
|
|
+ { 3, 4, 4, 16, true, false, false, true, PIXELFORMATTYPE_SFLOAT }, // PIXELFORMAT_BC6H_FLOAT
|
|
|
+ { 4, 4, 4, 16, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_BC7_UNORM
|
|
|
+
|
|
|
+ { 3, 16, 8, 32, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_PVR1_RGB2_UNORM
|
|
|
+ { 3, 8, 8, 32, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_PVR1_RGB4_UNORM
|
|
|
+ { 4, 16, 8, 32, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_PVR1_RGBA2_UNORM
|
|
|
+ { 4, 8, 8, 32, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_PVR1_RGBA4_UNORM
|
|
|
+
|
|
|
+ { 3, 4, 4, 8, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ETC1_UNORM
|
|
|
+ { 3, 4, 4, 8, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ETC2_RGB_UNORM
|
|
|
+ { 4, 4, 4, 16, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ETC2_RGBA_UNORM
|
|
|
+ { 4, 4, 4, 8, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ETC2_RGBA1_UNORM
|
|
|
+ { 1, 4, 4, 8, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_EAC_R_UNORM
|
|
|
+ { 1, 4, 4, 8, true, false, false, true, PIXELFORMATTYPE_SNORM }, // PIXELFORMAT_EAC_R_SNORM
|
|
|
+ { 2, 4, 4, 16, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_EAC_RG_UNORM
|
|
|
+ { 2, 4, 4, 16, true, false, false, true, PIXELFORMATTYPE_SNORM }, // PIXELFORMAT_EAC_RG_SNORM
|
|
|
+
|
|
|
+ { 4, 4, 4, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_4x4
|
|
|
+ { 4, 5, 4, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_5x4
|
|
|
+ { 4, 5, 5, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_5x5
|
|
|
+ { 4, 6, 5, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_6x5
|
|
|
+ { 4, 6, 6, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_6x6
|
|
|
+ { 4, 8, 5, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_8x5
|
|
|
+ { 4, 8, 6, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_8x6
|
|
|
+ { 4, 8, 8, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_8x8
|
|
|
+ { 4, 8, 5, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_10x5
|
|
|
+ { 4, 10, 6, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_10x6
|
|
|
+ { 4, 10, 8, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_10x8
|
|
|
+ { 4, 10, 10, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_10x10
|
|
|
+ { 4, 12, 10, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_12x10
|
|
|
+ { 4, 12, 12, 1, true, false, false, true, PIXELFORMATTYPE_UNORM }, // PIXELFORMAT_ASTC_12x12
|
|
|
};
|
|
|
|
|
|
static_assert(sizeof(formatInfo) / sizeof(PixelFormatInfo) == PIXELFORMAT_MAX_ENUM, "Update the formatInfo array when adding or removing a PixelFormat");
|
|
@@ -112,22 +130,40 @@ static StringMap<PixelFormat, PIXELFORMAT_MAX_ENUM>::Entry formatEntries[] =
|
|
|
{ "normal", PIXELFORMAT_NORMAL },
|
|
|
{ "hdr", PIXELFORMAT_HDR },
|
|
|
|
|
|
- { "r8", PIXELFORMAT_R8_UNORM },
|
|
|
- { "r16", PIXELFORMAT_R16_UNORM },
|
|
|
- { "r16f", PIXELFORMAT_R16_FLOAT },
|
|
|
- { "r32f", PIXELFORMAT_R32_FLOAT },
|
|
|
-
|
|
|
- { "rg8", PIXELFORMAT_RG8_UNORM },
|
|
|
- { "la8", PIXELFORMAT_LA8_UNORM },
|
|
|
- { "rg16", PIXELFORMAT_RG16_UNORM },
|
|
|
- { "rg16f", PIXELFORMAT_RG16_FLOAT },
|
|
|
- { "rg32f", PIXELFORMAT_RG32_FLOAT },
|
|
|
-
|
|
|
- { "rgba8", PIXELFORMAT_RGBA8_UNORM },
|
|
|
- { "srgba8", PIXELFORMAT_sRGBA8_UNORM },
|
|
|
- { "rgba16", PIXELFORMAT_RGBA16_UNORM },
|
|
|
- { "rgba16f", PIXELFORMAT_RGBA16_FLOAT },
|
|
|
- { "rgba32f", PIXELFORMAT_RGBA32_FLOAT },
|
|
|
+ { "r8", PIXELFORMAT_R8_UNORM },
|
|
|
+ { "r8i", PIXELFORMAT_R8_INT },
|
|
|
+ { "r8ui", PIXELFORMAT_R8_UINT },
|
|
|
+ { "r16", PIXELFORMAT_R16_UNORM },
|
|
|
+ { "r16f", PIXELFORMAT_R16_FLOAT },
|
|
|
+ { "r16i", PIXELFORMAT_R16_INT },
|
|
|
+ { "r16ui", PIXELFORMAT_R16_UINT },
|
|
|
+ { "r32f", PIXELFORMAT_R32_FLOAT },
|
|
|
+ { "r32i", PIXELFORMAT_R32_INT },
|
|
|
+ { "r32ui", PIXELFORMAT_R32_UINT },
|
|
|
+
|
|
|
+ { "rg8", PIXELFORMAT_RG8_UNORM },
|
|
|
+ { "rg8i", PIXELFORMAT_RG8_INT },
|
|
|
+ { "rg8ui", PIXELFORMAT_RG8_UINT },
|
|
|
+ { "la8", PIXELFORMAT_LA8_UNORM },
|
|
|
+ { "rg16", PIXELFORMAT_RG16_UNORM },
|
|
|
+ { "rg16f", PIXELFORMAT_RG16_FLOAT },
|
|
|
+ { "rg16i", PIXELFORMAT_RG16_INT },
|
|
|
+ { "rg16ui", PIXELFORMAT_RG16_UINT },
|
|
|
+ { "rg32f", PIXELFORMAT_RG32_FLOAT },
|
|
|
+ { "rg32i", PIXELFORMAT_RG32_INT },
|
|
|
+ { "rg32ui", PIXELFORMAT_RG32_UINT },
|
|
|
+
|
|
|
+ { "rgba8", PIXELFORMAT_RGBA8_UNORM },
|
|
|
+ { "srgba8", PIXELFORMAT_sRGBA8_UNORM },
|
|
|
+ { "rgba8i", PIXELFORMAT_RGBA8_INT },
|
|
|
+ { "rgba8ui", PIXELFORMAT_RGBA8_UINT },
|
|
|
+ { "rgba16", PIXELFORMAT_RGBA16_UNORM },
|
|
|
+ { "rgba16f", PIXELFORMAT_RGBA16_FLOAT },
|
|
|
+ { "rgba16i", PIXELFORMAT_RGBA16_INT },
|
|
|
+ { "rgba16ui", PIXELFORMAT_RGBA16_UINT },
|
|
|
+ { "rgba32f", PIXELFORMAT_RGBA32_FLOAT },
|
|
|
+ { "rgba32i", PIXELFORMAT_RGBA32_INT },
|
|
|
+ { "rgba32ui", PIXELFORMAT_RGBA32_UINT },
|
|
|
|
|
|
{ "rgba4", PIXELFORMAT_RGBA4_UNORM },
|
|
|
{ "rgb5a1", PIXELFORMAT_RGB5A1_UNORM },
|
|
@@ -164,6 +200,7 @@ static StringMap<PixelFormat, PIXELFORMAT_MAX_ENUM>::Entry formatEntries[] =
|
|
|
{ "EACrs", PIXELFORMAT_EAC_R_SNORM },
|
|
|
{ "EACrg", PIXELFORMAT_EAC_RG_UNORM },
|
|
|
{ "EACrgs", PIXELFORMAT_EAC_RG_SNORM },
|
|
|
+
|
|
|
{ "ASTC4x4", PIXELFORMAT_ASTC_4x4 },
|
|
|
{ "ASTC5x4", PIXELFORMAT_ASTC_5x4 },
|
|
|
{ "ASTC5x5", PIXELFORMAT_ASTC_5x5 },
|
|
@@ -220,6 +257,12 @@ bool isPixelFormatStencil(PixelFormat format)
|
|
|
return formatInfo[format].stencil;
|
|
|
}
|
|
|
|
|
|
+bool isPixelFormatInteger(PixelFormat format)
|
|
|
+{
|
|
|
+ auto type = formatInfo[format].dataType;
|
|
|
+ return type == PIXELFORMATTYPE_SINT || type == PIXELFORMATTYPE_UINT;
|
|
|
+}
|
|
|
+
|
|
|
PixelFormat getSRGBPixelFormat(PixelFormat format)
|
|
|
{
|
|
|
if (format == PIXELFORMAT_RGBA8_UNORM)
|