diff options
-rw-r--r-- | src/cairo-gl-device.c | 4 | ||||
-rw-r--r-- | src/cairo-gl-surface.c | 14 |
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; |