[Glamor] [PATCH] glamor: use function pointer for eglDestroyImageKHR
Zhigang Gong
zhigang.gong at linux.intel.com
Thu Jan 12 21:47:25 PST 2012
> -----Original Message-----
> From:
> glamor-bounces+zhigang.gong=linux.intel.com at lists.freedesktop.org
> [mailto:glamor-bounces+zhigang.gong=linux.intel.com at lists.freedesktop.o
> rg] On Behalf Of root
> Sent: Friday, January 13, 2012 10:53 AM
> To: glamor at lists.freedesktop.org
> Cc: peng.li at intel.com
> Subject: [Glamor] [PATCH] glamor: use function pointer for
> eglDestroyImageKHR
>
> for some EGL driver, it may not export eglDestroyImageKHR directly, so we
> have to get this function pointer through eglGetProcAddress.
>
> Signed-off-by: Li Peng <peng.li at intel.com>
> ---
> src/glamor_egl.c | 10 +++++++---
> 1 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/src/glamor_egl.c b/src/glamor_egl.c index 28a48ca..8c621f1
> 100644
> --- a/src/glamor_egl.c
> +++ b/src/glamor_egl.c
> @@ -92,6 +92,7 @@ struct glamor_egl_screen_private {
> struct gbm_device *gbm;
>
> PFNEGLCREATEIMAGEKHRPROC egl_create_image_khr;
> + PFNEGLDESTROYIMAGEKHRPROC egl_destroy_image_khr;
> PFNGLEGLIMAGETARGETTEXTURE2DOESPROC
> egl_image_target_texture2d_oes;
> struct glamor_gl_dispatch *dispatch;
> };
> @@ -187,7 +188,7 @@ glamor_egl_create_textured_screen(ScreenPtr
> screen, int handle, int stride)
> }
>
> if (glamor_egl->root) {
> - eglDestroyImageKHR(glamor_egl->display, glamor_egl->root);
> + glamor_egl->egl_destroy_image_khr(glamor_egl->display,
> +glamor_egl->root);
> glamor_egl->root = EGL_NO_IMAGE_KHR;
> }
>
> @@ -258,7 +259,7 @@ glamor_egl_destroy_textured_pixmap(PixmapPtr
> pixmap)
> * a texture. we must call glFlush to make sure the
> * operation on that texture has been done.*/
> glamor_block_handler(pixmap->drawable.pScreen);
> - eglDestroyImageKHR(glamor_egl->display, image);
> +
glamor_egl->egl_destroy_image_khr(glamor_egl->display,
> +glamor_egl->root);
> }
> }
> glamor_destroy_textured_pixmap(pixmap);
> @@ -272,7 +273,7 @@ glamor_egl_close_screen(ScreenPtr screen)
> glamor_egl_get_screen_private(scrn);
> glamor_fini(screen);
>
> - eglDestroyImageKHR(glamor_egl->display, glamor_egl->root);
> + glamor_egl->egl_destroy_image_khr(glamor_egl->display,
> +glamor_egl->root);
>
> glamor_egl->root = EGL_NO_IMAGE_KHR;
>
> @@ -363,6 +364,9 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd)
> glamor_egl->egl_create_image_khr =
> (PFNEGLCREATEIMAGEKHRPROC)
> eglGetProcAddress("eglCreateImageKHR");
>
> + glamor_egl->egl_destroy_image_khr =
> (PFNEGLDESTROYIMAGEKHRPROC)
> + eglGetProcAddress("eglDestroyImageKHR");
> +
> glamor_egl->egl_image_target_texture2d_oes =
> (PFNGLEGLIMAGETARGETTEXTURE2DOESPROC)
> eglGetProcAddress("glEGLImageTargetTexture2DOES");
> --
> 1.7.2.2
looks fine for me, thanks,.
Reviewed-by: Zhigang Gong <Zhigang.gong at linux.intel.com>
>
> _______________________________________________
> Glamor mailing list
> Glamor at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/glamor
More information about the Glamor
mailing list