From 539d80096407897d32bff454b586d5d04d1288b6 Mon Sep 17 00:00:00 2001
From: Paulo Sergio Travaglia <pstglia@gmail.com>
Date: Sat, 28 Mar 2015 16:05:59 -0300
Subject: [PATCH] NETFLIX HACK: Threats OMX_COLOR format constants
 YUV420Planar and BGRA888 as HAL_PIXEL ones

libstagefright uses params (usage, color format and others) to alloc gralloc buffers.
However, before that it checks if these constant values are valid OMX_COLOR ones.
Maybe for some buffers, gralloc is not used when using a native window.
As this is just a test and I want to make my life easier, I've changed android HAL_PIXEL checks
on mesa
---
 src/egl/drivers/dri2/platform_android.c                   | 3 +++
 src/gallium/state_trackers/egl/android/native_android.cpp | 6 ++++++
 2 files changed, 9 insertions(+)

diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c
index 61a99ba..f562d96 100644
--- a/src/egl/drivers/dri2/platform_android.c
+++ b/src/egl/drivers/dri2/platform_android.c
@@ -48,9 +48,11 @@ get_format_bpp(int native)
    case HAL_PIXEL_FORMAT_RGBA_8888:
    case HAL_PIXEL_FORMAT_RGBX_8888:
    case HAL_PIXEL_FORMAT_BGRA_8888:
+   case 15:
       bpp = 4;
       break;
    case HAL_PIXEL_FORMAT_RGB_888:
+   case 19:
       bpp = 3;
       break;
    case HAL_PIXEL_FORMAT_RGB_565:
@@ -357,6 +359,7 @@ dri2_create_image_android_native_buffer(_EGLDisplay *disp, _EGLContext *ctx,
    /* see the table in droid_add_configs_for_visuals */
    switch (buf->format) {
    case HAL_PIXEL_FORMAT_BGRA_8888:
+   case 15:
       format = __DRI_IMAGE_FORMAT_ARGB8888;
       break;
    case HAL_PIXEL_FORMAT_RGB_565:
diff --git a/src/gallium/state_trackers/egl/android/native_android.cpp b/src/gallium/state_trackers/egl/android/native_android.cpp
index 3b2d63d..7042042 100644
--- a/src/gallium/state_trackers/egl/android/native_android.cpp
+++ b/src/gallium/state_trackers/egl/android/native_android.cpp
@@ -145,8 +145,12 @@ get_pipe_format(int native)
       fmt = PIPE_FORMAT_B5G6R5_UNORM;
       break;
    case HAL_PIXEL_FORMAT_BGRA_8888:
+   case 15:
       fmt = PIPE_FORMAT_B8G8R8A8_UNORM;
       break;
+   case 19:
+      fmt = PIPE_FORMAT_YV12;
+      break;
    default:
       ALOGE("unsupported native format 0x%x", native);
       fmt = PIPE_FORMAT_NONE;
@@ -596,6 +600,8 @@ android_display_init_configs(struct native_display *ndpy)
       HAL_PIXEL_FORMAT_RGB_888,
       HAL_PIXEL_FORMAT_RGB_565,
       HAL_PIXEL_FORMAT_BGRA_8888,
+      15,
+      19,
    };
    int i;
 
-- 
1.7.12.1

