summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/main/formats.c5
-rw-r--r--src/mesa/main/formats.csv1
-rw-r--r--src/mesa/main/formats.h1
-rw-r--r--src/mesa/main/texformat.c1
-rw-r--r--src/mesa/swrast/s_texfetch.c1
5 files changed, 9 insertions, 0 deletions
diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c
index ecdfd561035..34450003572 100644
--- a/src/mesa/main/formats.c
+++ b/src/mesa/main/formats.c
@@ -875,6 +875,7 @@ _mesa_uncompressed_format_to_type_and_comps(mesa_format format,
case MESA_FORMAT_A1B5G5R5_UNORM:
case MESA_FORMAT_A1B5G5R5_UINT:
+ case MESA_FORMAT_X1B5G5R5_UNORM:
*datatype = GL_UNSIGNED_SHORT_5_5_5_1;
*comps = 4;
return;
@@ -1526,6 +1527,10 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format,
return format == GL_RGBA && type == GL_UNSIGNED_SHORT_5_5_5_1 &&
!swapBytes;
+ case MESA_FORMAT_X1B5G5R5_UNORM:
+ return format == GL_RGB && type == GL_UNSIGNED_SHORT_5_5_5_1 &&
+ !swapBytes;
+
case MESA_FORMAT_B5G5R5A1_UNORM:
return format == GL_BGRA && type == GL_UNSIGNED_SHORT_1_5_5_5_REV &&
!swapBytes;
diff --git a/src/mesa/main/formats.csv b/src/mesa/main/formats.csv
index 285921ed445..ce53f8f0561 100644
--- a/src/mesa/main/formats.csv
+++ b/src/mesa/main/formats.csv
@@ -68,6 +68,7 @@ MESA_FORMAT_B4G4R4A4_UNORM , packed, 1, 1, 1, un4 , un4 , un4 , u
MESA_FORMAT_B4G4R4X4_UNORM , packed, 1, 1, 1, un4 , un4 , un4 , x4 , zyx1, rgb
MESA_FORMAT_A4R4G4B4_UNORM , packed, 1, 1, 1, un4 , un4 , un4 , un4 , yzwx, rgb
MESA_FORMAT_A1B5G5R5_UNORM , packed, 1, 1, 1, un1 , un5 , un5 , un5 , wzyx, rgb
+MESA_FORMAT_X1B5G5R5_UNORM , packed, 1, 1, 1, x1 , un5 , un5 , un5 , wzy1, rgb
MESA_FORMAT_B5G5R5A1_UNORM , packed, 1, 1, 1, un5 , un5 , un5 , un1 , zyxw, rgb
MESA_FORMAT_B5G5R5X1_UNORM , packed, 1, 1, 1, un5 , un5 , un5 , x1 , zyx1, rgb
MESA_FORMAT_A1R5G5B5_UNORM , packed, 1, 1, 1, un1 , un5 , un5 , un5 , yzwx, rgb
diff --git a/src/mesa/main/formats.h b/src/mesa/main/formats.h
index fbcbe36b71e..b81810fc893 100644
--- a/src/mesa/main/formats.h
+++ b/src/mesa/main/formats.h
@@ -350,6 +350,7 @@ typedef enum
MESA_FORMAT_B4G4R4X4_UNORM, /* xxxx RRRR GGGG BBBB */
MESA_FORMAT_A4R4G4B4_UNORM, /* BBBB GGGG RRRR AAAA */
MESA_FORMAT_A1B5G5R5_UNORM, /* RRRR RGGG GGBB BBBA */
+ MESA_FORMAT_X1B5G5R5_UNORM, /* BBBB BGGG GGRR RRRX */
MESA_FORMAT_B5G5R5A1_UNORM, /* ARRR RRGG GGGB BBBB */
MESA_FORMAT_B5G5R5X1_UNORM, /* xRRR RRGG GGGB BBBB */
MESA_FORMAT_A1R5G5B5_UNORM, /* BBBB BGGG GGRR RRRA */
diff --git a/src/mesa/main/texformat.c b/src/mesa/main/texformat.c
index 13e77b77ecd..822f80f89ed 100644
--- a/src/mesa/main/texformat.c
+++ b/src/mesa/main/texformat.c
@@ -88,6 +88,7 @@ _mesa_choose_tex_format(struct gl_context *ctx, GLenum target,
break;
case GL_RGB5_A1:
RETURN_IF_SUPPORTED(MESA_FORMAT_B5G5R5A1_UNORM);
+ RETURN_IF_SUPPORTED(MESA_FORMAT_A1B5G5R5_UNORM);
break;
case GL_RGBA2:
RETURN_IF_SUPPORTED(MESA_FORMAT_A4R4G4B4_UNORM); /* just to test another format*/
diff --git a/src/mesa/swrast/s_texfetch.c b/src/mesa/swrast/s_texfetch.c
index 4353ea0e471..e2c3c085b57 100644
--- a/src/mesa/swrast/s_texfetch.c
+++ b/src/mesa/swrast/s_texfetch.c
@@ -159,6 +159,7 @@ texfetch_funcs[] =
FETCH_NULL(B4G4R4X4_UNORM),
FETCH_FUNCS(A4R4G4B4_UNORM),
FETCH_FUNCS(A1B5G5R5_UNORM),
+ FETCH_NULL(X1B5G5R5_UNORM),
FETCH_FUNCS(B5G5R5A1_UNORM),
FETCH_NULL(B5G5R5X1_UNORM),
FETCH_FUNCS(A1R5G5B5_UNORM),