Hello Kristian,<br><br>The complete Patch.<br><br>---------------------------------------------------------------------------------------------------<br><br>From 8e1adf2e8024e2ef804df2d1b8b1cfd49c91186f Mon Sep 17 00:00:00 2001<br>
From: Abhijit Potnis <<a href="mailto:abhijitpotnis@gmail.com">abhijitpotnis@gmail.com</a>><br>Date: Thu, 13 Sep 2012 12:32:55 +0530<br>Subject: [PATCH] text: Adding output to compositor before calling<br> gles2_renderer_init<br>
<br>Calling android_compositor_add_output() before gles2_renderer_init(),<br>or else in gles-renderer_init will have an invalid EGLSurface.<br><br>Signed-off-by: Abhijit Potnis <<a href="mailto:abhijitpotnis@gmail.com">abhijitpotnis@gmail.com</a>><br>
---<br> src/compositor-android.c |    4 ++--<br> 1 file changed, 2 insertions(+), 2 deletions(-)<br><br>diff --git a/src/compositor-android.c b/src/compositor-android.c<br>index 50c66e6..0194379 100644<br>--- a/src/compositor-android.c<br>
+++ b/src/compositor-android.c<br>@@ -476,11 +476,11 @@ android_compositor_create(struct wl_display *display, int argc, char *argv[],<br>     if (android_init_egl(compositor, output) < 0)<br>         goto err_output;<br>
 <br>+    android_compositor_add_output(compositor, output);<br>+    <br>     if (gles2_renderer_init(&compositor->base) < 0)<br>         goto err_egl;<br> <br>-    android_compositor_add_output(compositor, output);<br>
-<br>     compositor->seat = android_seat_create(compositor);<br>     if (!compositor->seat)<br>         goto err_egl;<br>-- <br>1.7.9.5<br><br>---------------------------------------------------------------------------------------------------<br>
<br><br><div class="gmail_quote">On Thu, Sep 13, 2012 at 2:46 AM, Pekka Paalanen <span dir="ltr"><<a href="mailto:ppaalanen@gmail.com" target="_blank">ppaalanen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Thu, 13 Sep 2012 00:18:52 -0700<br>
Abhijit Potnis <<a href="mailto:abhijitpotnis@gmail.com">abhijitpotnis@gmail.com</a>> wrote:<br>
<br>
> Hello Pekka,<br>
><br>
> In compositor-android.c , Should we be calling<br>
> android_compositor_add_output() before gles2_renderer_init(),<br>
> or else wouldn't "op" in gles-renderer_init get assigned a junk value.<br>
<br>
</div>Hi Abhijit,<br>
<br>
yes, looks like you are completely right.<br>
<br>
The problem was introduced in 2bc5e8eaf89967f55b63c31f58f8e3a8d7f8810e<br>
and I think it went without noticing, because the android backend needs<br>
to open the framebuffer before it can choose an EGLConfig. The<br>
android_output object is created before EGL init, but not added to the<br>
compositor's output list until it has an EGLSurface. It was just missed<br>
when code was being moved around and consolidated into<br>
gles2_renderer_init().<br>
<br>
Kristian, can you push this patch with<br>
Reviewed-by: Pekka Paalanen <<a href="mailto:ppaalanen@gmail.com">ppaalanen@gmail.com</a>><br>
please?<br>
<br>
It will take a while before I can actually test this.<br>
<div class="im"><br>
> ---<br>
>  src/compositor-android.c |    4 ++--<br>
>  1 file changed, 2 insertions(+), 2 deletions(-)<br>
><br>
> diff --git a/src/compositor-android.c b/src/compositor-android.c<br>
> index 50c66e6..0194379 100644<br>
> --- a/src/compositor-android.c<br>
> +++ b/src/compositor-android.c<br>
> @@ -476,11 +476,11 @@ android_compositor_create(struct wl_display *display,<br>
> int argc, char *argv[],<br>
>      if (android_init_egl(compositor, output) < 0)<br>
>          goto err_output;<br>
><br>
> +    android_compositor_add_output(compositor, output);<br>
> +<br>
>      if (gles2_renderer_init(&compositor->base) < 0)<br>
>          goto err_egl;<br>
><br>
> -    android_compositor_add_output(compositor, output);<br>
> -<br>
>      compositor->seat = android_seat_create(compositor);<br>
>      if (!compositor->seat)<br>
>          goto err_egl;<br>
<br>
</div>Thanks,<br>
pq<br>
</blockquote></div><br><br clear="all"><br>-- <br>Regards,<br>Abhijit Potnis<br><br>