android: fix droid_create_image_from_prime_fd_yuv for YV12
authorTapani Pälli <tapani.palli@intel.com>
Thu, 2 Feb 2017 12:05:46 +0000 (14:05 +0200)
committerTapani Pälli <tapani.palli@intel.com>
Fri, 3 Feb 2017 05:44:33 +0000 (07:44 +0200)
Earlier changes introduced is_ycrcb flag which checks the component
order of u and v components. Condition for setting the flag was
incorrect, with ycrcb we are supposed to have cr before cb.

This patch (together with a fix in our gralloc) fixes corrupted
rendering from 'test-opengl-gl2_yuvtex' native test and corrupted
gallery thumbnail in application switcher on Android-IA.

Fixes: 51727b1cf57e8c4630767eb9ead207b102ffa489
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Plamena Manolova <plamena.manolova@intel.com>
Reviewed-by: Marta Lofstedt <marta.lofstedt@intel.com>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
src/egl/drivers/dri2/platform_android.c

index 36bd119e5010947f58ece527ab782163113ab559..511b696192a95a1be3f9e5ea62bffdf9c49528c5 100644 (file)
@@ -629,7 +629,7 @@ droid_create_image_from_prime_fd_yuv(_EGLDisplay *disp, _EGLContext *ctx,
     * so they can be interpreted as offsets. */
    offsets[0] = (size_t)ycbcr.y;
    /* We assume here that all the planes are located in one DMA-buf. */
-   is_ycrcb = (size_t)ycbcr.cb < (size_t)ycbcr.cr;
+   is_ycrcb = (size_t)ycbcr.cr < (size_t)ycbcr.cb;
    if (is_ycrcb) {
       offsets[1] = (size_t)ycbcr.cr;
       offsets[2] = (size_t)ycbcr.cb;