summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsuyambu.rm <suyambu.rm@samsung.com>2015-07-31 18:04:09 +0530
committersuyambu.rm <suyambu.rm@samsung.com>2015-08-03 17:46:25 +0530
commitfec40cf485b6e13ee2f92de1e4edc2368f5a06e6 (patch)
treef38f102635c230bfbd36dbfea99f529fd8f7ceca
parentf658ee1c764eb624d271be64c5a1c8ee519c364e (diff)
downloadcairo-fec40cf485b6e13ee2f92de1e4edc2368f5a06e6.tar.gz
cairo-fec40cf485b6e13ee2f92de1e4edc2368f5a06e6.tar.bz2
cairo-fec40cf485b6e13ee2f92de1e4edc2368f5a06e6.zip
Always return false for GLES so that RGBA format will be used,
for tizen TV driver problem. Workaround for mali driver when reading BGRA texture. Should be removed once the driver issue is fixed. Change-Id: I1de4866a14c2762e3d46c3010531c89aa8ff435f Signed-off-by: suyambu.rm <suyambu.rm@samsung.com>
-rw-r--r--src/cairo-gl-device.c4
-rw-r--r--src/cairo-gl-surface.c14
2 files changed, 7 insertions, 11 deletions
diff --git a/src/cairo-gl-device.c b/src/cairo-gl-device.c
index dbb6f162f..53c76c1de 100644
--- a/src/cairo-gl-device.c
+++ b/src/cairo-gl-device.c
@@ -257,6 +257,10 @@ test_can_read_bgra (cairo_gl_context_t *ctx, cairo_gl_flavor_t gl_flavor)
assert (gl_flavor == CAIRO_GL_FLAVOR_ES2 ||
gl_flavor == CAIRO_GL_FLAVOR_ES3);
+ /* FIXME: always return false for GLES, this is tizen TV driver problem.
+ Once that is resolved, we will return properly */
+
+ return FALSE;
/* For OpenGL ES we have to look for the specific extension and BGRA only
* matches cairo's integer packed bytes on little-endian machines. */
diff --git a/src/cairo-gl-surface.c b/src/cairo-gl-surface.c
index 665ab244a..a0b053bb0 100644
--- a/src/cairo-gl-surface.c
+++ b/src/cairo-gl-surface.c
@@ -769,10 +769,7 @@ _create_scratch_internal (cairo_gl_context_t *ctx,
default:
ASSERT_NOT_REACHED;
case CAIRO_CONTENT_COLOR_ALPHA:
- if(ctx->can_read_bgra)
- format = GL_BGRA;
- else
- format = GL_RGBA;
+ format = GL_RGBA;
break;
case CAIRO_CONTENT_ALPHA:
/* When using GL_ALPHA, compositing doesn't work properly, but for
@@ -792,10 +789,7 @@ _create_scratch_internal (cairo_gl_context_t *ctx,
* specified. So, we have to store RGBA, and fill the alpha
* channel with 1 when blending.
*/
- if(ctx->can_read_bgra)
- format = GL_BGRA;
- else
- format = GL_RGBA;
+ format = GL_RGBA;
break;
}
@@ -1228,10 +1222,8 @@ _cairo_gl_surface_draw_image (cairo_gl_surface_t *dst,
pixman_format = _cairo_is_little_endian () ? PIXMAN_a8b8g8r8 : PIXMAN_r8g8b8a8;
if (src->base.content != CAIRO_CONTENT_ALPHA) {
- if (src->pixman_format != pixman_format) {
- if (!ctx->can_read_bgra)
+ if (src->pixman_format != pixman_format)
require_conversion = TRUE;
- }
}
else if (dst->base.content != CAIRO_CONTENT_ALPHA)
require_conversion = TRUE;