From fd36df52d78e67f4cf88bb871a0583cd67f8e1ac Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Tue, 3 Mar 2015 11:30:36 -0700 Subject: xgl: Add missing formats and remove channel mapping Alpha header version: r29599 Changed formats: XGL_FMT_BC1_UNORM => XGL_FMT_BC1_RGB_UNORM XGL_FMT_BC1_SRGB => XGL_FMT_BC1_RGB_SRGB XGL_FMT_ASTC_4x5_UNORM => XGL_FMT_ASTC_5x4_UNORM XGL_FMT_ASTC_4x5_SRGB => XGL_FMT_ASTC_5x4_SRGB New formats: XGL_FMT_BC1_RGBA_UNORM XGL_FMT_BC1_RGBA_SRGB XGL_FMT_ETC2_R8G8B8_SRGB XGL_FMT_ETC2_R8G8B8A1_SRGB XGL_FMT_ETC2_R8G8B8A8_SRGB XGL_FMT_B4G4R4A4_UNORM XGL_FMT_B5G5R5A1_UNORM None of the new formats are currently supported in the sample driver. --- demos/xglinfo.c | 8 +-- icd/common/icd-format.c | 30 +++++----- include/xgl.h | 152 +++++++++++++++++++++++++----------------------- 3 files changed, 99 insertions(+), 91 deletions(-) diff --git a/demos/xglinfo.c b/demos/xglinfo.c index e0887a20..47c2efaf 100644 --- a/demos/xglinfo.c +++ b/demos/xglinfo.c @@ -232,8 +232,8 @@ static const char *xgl_format_string(XGL_FORMAT fmt) STR(D16_UNORM_S8_UINT); STR(D24_UNORM_S8_UINT); STR(D32_SFLOAT_S8_UINT); - STR(BC1_UNORM); - STR(BC1_SRGB); + STR(BC1_RGB_UNORM); + STR(BC1_RGB_SRGB); STR(BC2_UNORM); STR(BC2_SRGB); STR(BC3_UNORM); @@ -255,8 +255,8 @@ static const char *xgl_format_string(XGL_FORMAT fmt) STR(EAC_R11G11_SNORM); STR(ASTC_4x4_UNORM); STR(ASTC_4x4_SRGB); - STR(ASTC_4x5_UNORM); - STR(ASTC_4x5_SRGB); + STR(ASTC_5x4_UNORM); + STR(ASTC_5x4_SRGB); STR(ASTC_5x5_UNORM); STR(ASTC_5x5_SRGB); STR(ASTC_6x5_UNORM); diff --git a/icd/common/icd-format.c b/icd/common/icd-format.c index ffdd5924..49093490 100644 --- a/icd/common/icd-format.c +++ b/icd/common/icd-format.c @@ -129,8 +129,10 @@ static const struct icd_format_info { [XGL_FMT_D16_UNORM_S8_UINT] = { 3, 2 }, [XGL_FMT_D24_UNORM_S8_UINT] = { 4, 2 }, [XGL_FMT_D32_SFLOAT_S8_UINT] = { 4, 2 }, - [XGL_FMT_BC1_UNORM] = { 8, 4 }, - [XGL_FMT_BC1_SRGB] = { 8, 4 }, + [XGL_FMT_BC1_RGB_UNORM] = { 8, 4 }, + [XGL_FMT_BC1_RGB_SRGB] = { 8, 4 }, + [XGL_FMT_BC1_RGBA_UNORM] = { 8, 4 }, + [XGL_FMT_BC1_RGBA_SRGB] = { 8, 4 }, [XGL_FMT_BC2_UNORM] = { 16, 4 }, [XGL_FMT_BC2_SRGB] = { 16, 4 }, [XGL_FMT_BC3_UNORM] = { 16, 4 }, @@ -153,8 +155,8 @@ static const struct icd_format_info { [XGL_FMT_EAC_R11G11_SNORM] = { 0, 0 }, [XGL_FMT_ASTC_4x4_UNORM] = { 0, 0 }, [XGL_FMT_ASTC_4x4_SRGB] = { 0, 0 }, - [XGL_FMT_ASTC_4x5_UNORM] = { 0, 0 }, - [XGL_FMT_ASTC_4x5_SRGB] = { 0, 0 }, + [XGL_FMT_ASTC_5x4_UNORM] = { 0, 0 }, + [XGL_FMT_ASTC_5x4_SRGB] = { 0, 0 }, [XGL_FMT_ASTC_5x5_UNORM] = { 0, 0 }, [XGL_FMT_ASTC_5x5_SRGB] = { 0, 0 }, [XGL_FMT_ASTC_6x5_UNORM] = { 0, 0 }, @@ -251,7 +253,7 @@ bool icd_format_is_norm(XGL_FORMAT format) case XGL_FMT_R16G16B16_SNORM: case XGL_FMT_R16G16B16A16_UNORM: case XGL_FMT_R16G16B16A16_SNORM: - case XGL_FMT_BC1_UNORM: + case XGL_FMT_BC1_RGB_UNORM: case XGL_FMT_BC2_UNORM: case XGL_FMT_BC3_UNORM: case XGL_FMT_BC4_UNORM: @@ -267,7 +269,7 @@ bool icd_format_is_norm(XGL_FORMAT format) case XGL_FMT_EAC_R11G11_UNORM: case XGL_FMT_EAC_R11G11_SNORM: case XGL_FMT_ASTC_4x4_UNORM: - case XGL_FMT_ASTC_4x5_UNORM: + case XGL_FMT_ASTC_5x4_UNORM: case XGL_FMT_ASTC_5x5_UNORM: case XGL_FMT_ASTC_6x5_UNORM: case XGL_FMT_ASTC_6x6_UNORM: @@ -381,12 +383,12 @@ bool icd_format_is_srgb(XGL_FORMAT format) case XGL_FMT_R8G8_SRGB: case XGL_FMT_R8G8B8_SRGB: case XGL_FMT_R8G8B8A8_SRGB: - case XGL_FMT_BC1_SRGB: + case XGL_FMT_BC1_RGB_SRGB: case XGL_FMT_BC2_SRGB: case XGL_FMT_BC3_SRGB: case XGL_FMT_BC7_SRGB: case XGL_FMT_ASTC_4x4_SRGB: - case XGL_FMT_ASTC_4x5_SRGB: + case XGL_FMT_ASTC_5x4_SRGB: case XGL_FMT_ASTC_5x5_SRGB: case XGL_FMT_ASTC_6x5_SRGB: case XGL_FMT_ASTC_6x6_SRGB: @@ -413,8 +415,8 @@ bool icd_format_is_srgb(XGL_FORMAT format) bool icd_format_is_compressed(XGL_FORMAT format) { switch (format) { - case XGL_FMT_BC1_UNORM: - case XGL_FMT_BC1_SRGB: + case XGL_FMT_BC1_RGB_UNORM: + case XGL_FMT_BC1_RGB_SRGB: case XGL_FMT_BC2_UNORM: case XGL_FMT_BC2_SRGB: case XGL_FMT_BC3_UNORM: @@ -436,8 +438,8 @@ bool icd_format_is_compressed(XGL_FORMAT format) case XGL_FMT_EAC_R11G11_SNORM: case XGL_FMT_ASTC_4x4_UNORM: case XGL_FMT_ASTC_4x4_SRGB: - case XGL_FMT_ASTC_4x5_UNORM: - case XGL_FMT_ASTC_4x5_SRGB: + case XGL_FMT_ASTC_5x4_UNORM: + case XGL_FMT_ASTC_5x4_SRGB: case XGL_FMT_ASTC_5x5_UNORM: case XGL_FMT_ASTC_5x5_SRGB: case XGL_FMT_ASTC_6x5_UNORM: @@ -711,8 +713,8 @@ void icd_format_get_raw_value(XGL_FORMAT format, (color[2] & 0x1ff) << 18 | (color[3] & 0x1f) << 27; break; - case XGL_FMT_BC1_UNORM: - case XGL_FMT_BC1_SRGB: + case XGL_FMT_BC1_RGB_UNORM: + case XGL_FMT_BC1_RGB_SRGB: case XGL_FMT_BC4_UNORM: case XGL_FMT_BC4_SNORM: memcpy(value, color, 8); diff --git a/include/xgl.h b/include/xgl.h index 6ec7ed54..5866581a 100644 --- a/include/xgl.h +++ b/include/xgl.h @@ -33,7 +33,7 @@ #include "xglPlatform.h" // XGL API version supported by this file -#define XGL_API_VERSION XGL_MAKE_VERSION(0, 51, 0) +#define XGL_API_VERSION XGL_MAKE_VERSION(0, 52, 0) #ifdef __cplusplus extern "C" @@ -887,77 +887,84 @@ typedef enum _XGL_FORMAT XGL_FMT_D16_UNORM_S8_UINT = 0x0000005D, XGL_FMT_D24_UNORM_S8_UINT = 0x0000005E, XGL_FMT_D32_SFLOAT_S8_UINT = 0x0000005F, - XGL_FMT_BC1_UNORM = 0x00000060, - XGL_FMT_BC1_SRGB = 0x00000061, - XGL_FMT_BC2_UNORM = 0x00000062, - XGL_FMT_BC2_SRGB = 0x00000063, - XGL_FMT_BC3_UNORM = 0x00000064, - XGL_FMT_BC3_SRGB = 0x00000065, - XGL_FMT_BC4_UNORM = 0x00000066, - XGL_FMT_BC4_SNORM = 0x00000067, - XGL_FMT_BC5_UNORM = 0x00000068, - XGL_FMT_BC5_SNORM = 0x00000069, - XGL_FMT_BC6H_UFLOAT = 0x0000006A, - XGL_FMT_BC6H_SFLOAT = 0x0000006B, - XGL_FMT_BC7_UNORM = 0x0000006C, - XGL_FMT_BC7_SRGB = 0x0000006D, - XGL_FMT_ETC2_R8G8B8_UNORM = 0x0000006E, - XGL_FMT_ETC2_R8G8B8A1_UNORM = 0x0000006F, - XGL_FMT_ETC2_R8G8B8A8_UNORM = 0x00000070, - XGL_FMT_EAC_R11_UNORM = 0x00000071, - XGL_FMT_EAC_R11_SNORM = 0x00000072, - XGL_FMT_EAC_R11G11_UNORM = 0x00000073, - XGL_FMT_EAC_R11G11_SNORM = 0x00000074, - XGL_FMT_ASTC_4x4_UNORM = 0x00000075, - XGL_FMT_ASTC_4x4_SRGB = 0x00000076, - XGL_FMT_ASTC_4x5_UNORM = 0x00000077, - XGL_FMT_ASTC_4x5_SRGB = 0x00000078, - XGL_FMT_ASTC_5x5_UNORM = 0x00000079, - XGL_FMT_ASTC_5x5_SRGB = 0x0000007A, - XGL_FMT_ASTC_6x5_UNORM = 0x0000007B, - XGL_FMT_ASTC_6x5_SRGB = 0x0000007C, - XGL_FMT_ASTC_6x6_UNORM = 0x0000007D, - XGL_FMT_ASTC_6x6_SRGB = 0x0000007E, - XGL_FMT_ASTC_8x5_UNORM = 0x0000007F, - XGL_FMT_ASTC_8x5_SRGB = 0x00000080, - XGL_FMT_ASTC_8x6_UNORM = 0x00000081, - XGL_FMT_ASTC_8x6_SRGB = 0x00000082, - XGL_FMT_ASTC_8x8_UNORM = 0x00000083, - XGL_FMT_ASTC_8x8_SRGB = 0x00000084, - XGL_FMT_ASTC_10x5_UNORM = 0x00000085, - XGL_FMT_ASTC_10x5_SRGB = 0x00000086, - XGL_FMT_ASTC_10x6_UNORM = 0x00000087, - XGL_FMT_ASTC_10x6_SRGB = 0x00000088, - XGL_FMT_ASTC_10x8_UNORM = 0x00000089, - XGL_FMT_ASTC_10x8_SRGB = 0x0000008A, - XGL_FMT_ASTC_10x10_UNORM = 0x0000008B, - XGL_FMT_ASTC_10x10_SRGB = 0x0000008C, - XGL_FMT_ASTC_12x10_UNORM = 0x0000008D, - XGL_FMT_ASTC_12x10_SRGB = 0x0000008E, - XGL_FMT_ASTC_12x12_UNORM = 0x0000008F, - XGL_FMT_ASTC_12x12_SRGB = 0x00000090, - XGL_FMT_B5G6R5_UNORM = 0x00000091, - XGL_FMT_B5G6R5_USCALED = 0x00000092, - XGL_FMT_B8G8R8_UNORM = 0x00000093, - XGL_FMT_B8G8R8_SNORM = 0x00000094, - XGL_FMT_B8G8R8_USCALED = 0x00000095, - XGL_FMT_B8G8R8_SSCALED = 0x00000096, - XGL_FMT_B8G8R8_UINT = 0x00000097, - XGL_FMT_B8G8R8_SINT = 0x00000098, - XGL_FMT_B8G8R8_SRGB = 0x00000099, - XGL_FMT_B8G8R8A8_UNORM = 0x0000009A, - XGL_FMT_B8G8R8A8_SNORM = 0x0000009B, - XGL_FMT_B8G8R8A8_USCALED = 0x0000009C, - XGL_FMT_B8G8R8A8_SSCALED = 0x0000009D, - XGL_FMT_B8G8R8A8_UINT = 0x0000009E, - XGL_FMT_B8G8R8A8_SINT = 0x0000009F, - XGL_FMT_B8G8R8A8_SRGB = 0x000000A0, - XGL_FMT_B10G10R10A2_UNORM = 0x000000A1, - XGL_FMT_B10G10R10A2_SNORM = 0x000000A2, - XGL_FMT_B10G10R10A2_USCALED = 0x000000A3, - XGL_FMT_B10G10R10A2_SSCALED = 0x000000A4, - XGL_FMT_B10G10R10A2_UINT = 0x000000A5, - XGL_FMT_B10G10R10A2_SINT = 0x000000A6, + XGL_FMT_BC1_RGB_UNORM = 0x00000060, + XGL_FMT_BC1_RGB_SRGB = 0x00000061, + XGL_FMT_BC1_RGBA_UNORM = 0x00000062, + XGL_FMT_BC1_RGBA_SRGB = 0x00000063, + XGL_FMT_BC2_UNORM = 0x00000064, + XGL_FMT_BC2_SRGB = 0x00000065, + XGL_FMT_BC3_UNORM = 0x00000066, + XGL_FMT_BC3_SRGB = 0x00000067, + XGL_FMT_BC4_UNORM = 0x00000068, + XGL_FMT_BC4_SNORM = 0x00000069, + XGL_FMT_BC5_UNORM = 0x0000006A, + XGL_FMT_BC5_SNORM = 0x0000006B, + XGL_FMT_BC6H_UFLOAT = 0x0000006C, + XGL_FMT_BC6H_SFLOAT = 0x0000006D, + XGL_FMT_BC7_UNORM = 0x0000006E, + XGL_FMT_BC7_SRGB = 0x0000006F, + XGL_FMT_ETC2_R8G8B8_UNORM = 0x00000070, + XGL_FMT_ETC2_R8G8B8_SRGB = 0x00000071, + XGL_FMT_ETC2_R8G8B8A1_UNORM = 0x00000072, + XGL_FMT_ETC2_R8G8B8A1_SRGB = 0x00000073, + XGL_FMT_ETC2_R8G8B8A8_UNORM = 0x00000074, + XGL_FMT_ETC2_R8G8B8A8_SRGB = 0x00000075, + XGL_FMT_EAC_R11_UNORM = 0x00000076, + XGL_FMT_EAC_R11_SNORM = 0x00000077, + XGL_FMT_EAC_R11G11_UNORM = 0x00000078, + XGL_FMT_EAC_R11G11_SNORM = 0x00000079, + XGL_FMT_ASTC_4x4_UNORM = 0x0000007A, + XGL_FMT_ASTC_4x4_SRGB = 0x0000007B, + XGL_FMT_ASTC_5x4_UNORM = 0x0000007C, + XGL_FMT_ASTC_5x4_SRGB = 0x0000007D, + XGL_FMT_ASTC_5x5_UNORM = 0x0000007E, + XGL_FMT_ASTC_5x5_SRGB = 0x0000007F, + XGL_FMT_ASTC_6x5_UNORM = 0x00000080, + XGL_FMT_ASTC_6x5_SRGB = 0x00000081, + XGL_FMT_ASTC_6x6_UNORM = 0x00000082, + XGL_FMT_ASTC_6x6_SRGB = 0x00000083, + XGL_FMT_ASTC_8x5_UNORM = 0x00000084, + XGL_FMT_ASTC_8x5_SRGB = 0x00000085, + XGL_FMT_ASTC_8x6_UNORM = 0x00000086, + XGL_FMT_ASTC_8x6_SRGB = 0x00000087, + XGL_FMT_ASTC_8x8_UNORM = 0x00000088, + XGL_FMT_ASTC_8x8_SRGB = 0x00000089, + XGL_FMT_ASTC_10x5_UNORM = 0x0000008A, + XGL_FMT_ASTC_10x5_SRGB = 0x0000008B, + XGL_FMT_ASTC_10x6_UNORM = 0x0000008C, + XGL_FMT_ASTC_10x6_SRGB = 0x0000008D, + XGL_FMT_ASTC_10x8_UNORM = 0x0000008E, + XGL_FMT_ASTC_10x8_SRGB = 0x0000008F, + XGL_FMT_ASTC_10x10_UNORM = 0x00000090, + XGL_FMT_ASTC_10x10_SRGB = 0x00000091, + XGL_FMT_ASTC_12x10_UNORM = 0x00000092, + XGL_FMT_ASTC_12x10_SRGB = 0x00000093, + XGL_FMT_ASTC_12x12_UNORM = 0x00000094, + XGL_FMT_ASTC_12x12_SRGB = 0x00000095, + XGL_FMT_B4G4R4A4_UNORM = 0x00000096, + XGL_FMT_B5G5R5A1_UNORM = 0x00000097, + XGL_FMT_B5G6R5_UNORM = 0x00000098, + XGL_FMT_B5G6R5_USCALED = 0x00000099, + XGL_FMT_B8G8R8_UNORM = 0x0000009A, + XGL_FMT_B8G8R8_SNORM = 0x0000009B, + XGL_FMT_B8G8R8_USCALED = 0x0000009C, + XGL_FMT_B8G8R8_SSCALED = 0x0000009D, + XGL_FMT_B8G8R8_UINT = 0x0000009E, + XGL_FMT_B8G8R8_SINT = 0x0000009F, + XGL_FMT_B8G8R8_SRGB = 0x000000A0, + XGL_FMT_B8G8R8A8_UNORM = 0x000000A1, + XGL_FMT_B8G8R8A8_SNORM = 0x000000A2, + XGL_FMT_B8G8R8A8_USCALED = 0x000000A3, + XGL_FMT_B8G8R8A8_SSCALED = 0x000000A4, + XGL_FMT_B8G8R8A8_UINT = 0x000000A5, + XGL_FMT_B8G8R8A8_SINT = 0x000000A6, + XGL_FMT_B8G8R8A8_SRGB = 0x000000A7, + XGL_FMT_B10G10R10A2_UNORM = 0x000000A8, + XGL_FMT_B10G10R10A2_SNORM = 0x000000A9, + XGL_FMT_B10G10R10A2_USCALED = 0x000000AA, + XGL_FMT_B10G10R10A2_SSCALED = 0x000000AB, + XGL_FMT_B10G10R10A2_UINT = 0x000000AC, + XGL_FMT_B10G10R10A2_SINT = 0x000000AD, XGL_FMT_BEGIN_RANGE = XGL_FMT_UNDEFINED, XGL_FMT_END_RANGE = XGL_FMT_B10G10R10A2_SINT, @@ -1587,7 +1594,6 @@ typedef struct _XGL_BUFFER_VIEW_CREATE_INFO XGL_BUFFER_VIEW_TYPE viewType; XGL_GPU_SIZE stride; // Optionally specifies stride between elements XGL_FORMAT format; // Optionally specifies format of elements - XGL_CHANNEL_MAPPING channels; // Optionally specifies format channel mapping XGL_GPU_SIZE offset; // Specified in bytes XGL_GPU_SIZE range; // View size specified in bytes } XGL_BUFFER_VIEW_CREATE_INFO; -- cgit v1.2.3