summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/formats.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2013-01-28 21:06:11 +0100
committerMarek Olšák <[email protected]>2013-02-11 19:43:01 +0100
commit43395da55ab43cf508d6211c8af4a84453af0146 (patch)
tree93e99329257dd8112ec21e0434aa89c9e12e63b9 /src/mesa/main/formats.c
parent87f94e6f80dcdc3933edee24b1f7a6e355c4abaa (diff)
mesa: fill in YCBCR cases in _mesa_format_matches_format_and_type
based on the texstore code Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/mesa/main/formats.c')
-rw-r--r--src/mesa/main/formats.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c
index 30f13bfd8cc..4d1222ae31a 100644
--- a/src/mesa/main/formats.c
+++ b/src/mesa/main/formats.c
@@ -3021,8 +3021,13 @@ _mesa_format_matches_format_and_type(gl_format gl_format,
littleEndian && !swapBytes;
case MESA_FORMAT_YCBCR:
+ return format == GL_YCBCR_MESA &&
+ ((type == GL_UNSIGNED_SHORT_8_8_MESA && littleEndian != swapBytes) ||
+ (type == GL_UNSIGNED_SHORT_8_8_REV_MESA && littleEndian == swapBytes));
case MESA_FORMAT_YCBCR_REV:
- return GL_FALSE;
+ return format == GL_YCBCR_MESA &&
+ ((type == GL_UNSIGNED_SHORT_8_8_MESA && littleEndian == swapBytes) ||
+ (type == GL_UNSIGNED_SHORT_8_8_REV_MESA && littleEndian != swapBytes));
case MESA_FORMAT_R8:
return format == GL_RED && type == GL_UNSIGNED_BYTE;