[Mesa-dev] [PATCH 3/3] egl_dri2: add pbuffer support to platform_android

Chia-I Wu olvaffe at gmail.com
Tue Aug 30 21:11:32 PDT 2011


On Wed, Aug 31, 2011 at 6:50 AM, Chad Versace <chad at chad-versace.us> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 08/28/2011 08:39 AM, Chia-I Wu wrote:
>> From: Chia-I Wu <olv at lunarg.com>
>>
>> This is a simple change thanks to allocateBuffer.
>
> Wow, adding pbuffer support was short and simple.
>
>> ---
>>  src/egl/drivers/dri2/platform_android.c |   12 ++++++++----
>>  1 files changed, 8 insertions(+), 4 deletions(-)
>>
>> diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c
>> index 7b6730a..759f9f6 100644
>> --- a/src/egl/drivers/dri2/platform_android.c
>> +++ b/src/egl/drivers/dri2/platform_android.c
>> @@ -222,7 +222,8 @@ static _EGLSurface *
>>  droid_create_pbuffer_surface(_EGLDriver *drv, _EGLDisplay *disp,
>>                           _EGLConfig *conf, const EGLint *attrib_list)
>>  {
>> -   return NULL;
>> +   return droid_create_surface(drv, disp, EGL_PBUFFER_BIT, conf,
>> +                           NULL, attrib_list);
>>  }
>>
>>  static EGLBoolean
>> @@ -401,8 +402,10 @@ droid_get_buffers_parse_attachments(struct dri2_egl_surface *dri2_surf,
>>
>>              if (buf->name)
>>                 num_buffers++;
>> +
>> +            break;
>>           }
>> -         break;
>> +         /* fall through for pbuffers */
>>        case __DRI_BUFFER_DEPTH:
>>        case __DRI_BUFFER_STENCIL:
>>        case __DRI_BUFFER_ACCUM:
>> @@ -473,6 +476,7 @@ static EGLBoolean
>>  droid_add_configs_for_visuals(_EGLDriver *drv, _EGLDisplay *dpy)
>>  {
>>     struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy);
>> +   const EGLint surface_type = EGL_WINDOW_BIT | EGL_PBUFFER_BIT;
>>     const struct {
>>        int format;
>>        int size;
>> @@ -495,7 +499,7 @@ droid_add_configs_for_visuals(_EGLDriver *drv, _EGLDisplay *dpy)
>>           struct dri2_egl_config *dri2_conf;
>>
>>           dri2_conf = dri2_add_config(dpy, dri2_dpy->driver_configs[j],
>> -               count + 1, visuals[i].size, EGL_WINDOW_BIT, NULL,
>> +               count + 1, visuals[i].size, surface_type, NULL,
>>                 visuals[i].rgba_masks);
>>           if (dri2_conf) {
>>              dri2_conf->base.NativeVisualID = visuals[i].format;
>> @@ -521,7 +525,7 @@ droid_add_configs_for_visuals(_EGLDriver *drv, _EGLDisplay *dpy)
>>
>>        /* and we want to make sure GL_DRAW_BUFFER is always GL_BACK */
>>        if (!dri2_conf->dri_double_config)
>> -         dri2_conf->base.SurfaceType &= ~EGL_WINDOW_BIT;
>> +         dri2_conf->base.SurfaceType &= ~surface_type;
>
> I think (but I'm not certain) that the last fixup is equivalent to:
>            dri2_conf->base.SurfaceType = 0;
> If it is, then the code should just set SurfaceType = 0.
>
> Other than that, the patch looks good.
> Reviewed-by: Chad Versace <chad at chad-versace.us>
Thanks.  Pushed with all the suggested changes.

>>     }
>>
>>     return (count != 0);
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iQIcBAEBAgAGBQJOXWkmAAoJEAIvNt057x8ifRAP/R9D0bfH9xz1Cr8yNbMAT27O
> yXK8gYNfR23A2GGnrFf6ObFjgGxD6c5qMh8yi71DVLpY6dxRibUaARE3OQn6W6w/
> p8+Fg5xkTbGay4qt6uDS0JL5xCwfk7GI/1jykMzQjTWwRka0kJVw/6uVM3rTbZxQ
> Vf5lb30oE3amBiiVAiIZpoAdKpHpuM/4zxgGvTXmJ9K6/gyvPsYWnQWYnjkBTzHq
> DTlylQbKMuJd/qCAlddxx3PmyEhfi4sY70QAVJg7OMy/6DkGdyh2xFbd6ggYxIUv
> fvUoAxuHbEkVHecrDqQqFk23SPRga5aG4vTuiPNddbB+GbWpginea2M9KIW04qIK
> 2W242H01EUxeouosOKzsJh9AT6RoJURHdtIG4vyi4HIBJ4N68Q3zFtMIklsqurKF
> XqcHjEnWrfvh2Z/sCKIWWLwvWPOIi9oYU8y/EWbVxN7z8+DSSlCW//IAQvnlr0MC
> ag4Q4pGD0foRU17d0RKB20mC1+9ogXuXSaIPIVh0iCYquGngaV8zSHhj7t9reIGA
> bggXIGDGHpaL+q6BzI0Sjjju9YTbW1OtsfkGB9x5sh80bJ+TwxgeE/rSIWv+DrZR
> hkpQPxFFUpk7z2RXqL3S1c680a28UcHaeYkphnZnJGRm2+8aJFfnqZHeJJlcMrj3
> ko9658xNbu6lTXfAeT5L
> =xgvk
> -----END PGP SIGNATURE-----
>



-- 
olv at LunarG.com


More information about the mesa-dev mailing list