summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 827d50b76..7069c8312 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 cf0f4e75d..e156a0a52 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;