mirror of
https://github.com/brl/mutter.git
synced 2024-12-24 20:12:06 +00:00
Add support for X101010 and 2101010 pixel formats to fallback OpenGL rendering
https://bugzilla.gnome.org/show_bug.cgi?id=660188 edit: tweaked the internal format returned by pixel_format_to_gl(); handled 1010102 formats and rebased -- Robert Bragg Reviewed-by: Robert Bragg <robert@linux.intel.com> Reviewed-by: Neil Roberts <neil@linux.intel.com>
This commit is contained in:
parent
8b70468598
commit
c8674ef2bc
@ -167,6 +167,11 @@ _cogl_util_pixel_format_from_masks_real (unsigned long r_mask,
|
|||||||
{
|
{
|
||||||
return COGL_PIXEL_FORMAT_ARGB_8888_PRE;
|
return COGL_PIXEL_FORMAT_ARGB_8888_PRE;
|
||||||
}
|
}
|
||||||
|
else if ((depth == 30 || depth == 32) &&
|
||||||
|
r_mask == 0x3ff00000 && g_mask == 0xffc00 && b_mask == 0x3ff)
|
||||||
|
{
|
||||||
|
return COGL_PIXEL_FORMAT_ARGB_2101010_PRE;
|
||||||
|
}
|
||||||
else if (depth == 16 && bpp == 16 &&
|
else if (depth == 16 && bpp == 16 &&
|
||||||
r_mask == 0xf800 && g_mask == 0x7e0 && b_mask == 0x1f)
|
r_mask == 0xf800 && g_mask == 0x7e0 && b_mask == 0x1f)
|
||||||
{
|
{
|
||||||
|
@ -466,6 +466,30 @@ _cogl_texture_driver_pixel_format_to_gl (CoglPixelFormat format,
|
|||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case COGL_PIXEL_FORMAT_RGBA_1010102:
|
||||||
|
glintformat = GL_RGBA;
|
||||||
|
glformat = GL_RGBA;
|
||||||
|
gltype = GL_UNSIGNED_INT_10_10_10_2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case COGL_PIXEL_FORMAT_BGRA_1010102:
|
||||||
|
glintformat = GL_RGBA;
|
||||||
|
glformat = GL_BGRA;
|
||||||
|
gltype = GL_UNSIGNED_INT_10_10_10_2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case COGL_PIXEL_FORMAT_ABGR_2101010:
|
||||||
|
glintformat = GL_RGBA;
|
||||||
|
glformat = GL_RGBA;
|
||||||
|
gltype = GL_UNSIGNED_INT_2_10_10_10_REV;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case COGL_PIXEL_FORMAT_ARGB_2101010:
|
||||||
|
glintformat = GL_RGBA;
|
||||||
|
glformat = GL_BGRA;
|
||||||
|
gltype = GL_UNSIGNED_INT_2_10_10_10_REV;
|
||||||
|
break;
|
||||||
|
|
||||||
/* The following three types of channel ordering
|
/* The following three types of channel ordering
|
||||||
* are always defined using system word byte
|
* are always defined using system word byte
|
||||||
* ordering (even according to GLES spec) */
|
* ordering (even according to GLES spec) */
|
||||||
|
Loading…
Reference in New Issue
Block a user