Mesa (master): egl: Make resource void pointer in _eglCheckResource.

Chia-I Wu olv at kemper.freedesktop.org
Mon Jan 25 03:50:44 UTC 2010


Module: Mesa
Branch: master
Commit: dbb866ab33862defc2749134805bafebf323fd11
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dbb866ab33862defc2749134805bafebf323fd11

Author: Chia-I Wu <olvaffe at gmail.com>
Date:   Mon Jan 25 11:39:44 2010 +0800

egl: Make resource void pointer in _eglCheckResource.

This emphasizes the fact that the resource to be checked could really be
invalid and have an unknown type.

---

 src/egl/main/eglcontext.h |    3 +--
 src/egl/main/egldisplay.c |    7 +++++--
 src/egl/main/egldisplay.h |    6 +++---
 src/egl/main/eglimage.h   |    3 +--
 src/egl/main/eglsurface.h |    3 +--
 5 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/egl/main/eglcontext.h b/src/egl/main/eglcontext.h
index b81dc1e..be00642 100644
--- a/src/egl/main/eglcontext.h
+++ b/src/egl/main/eglcontext.h
@@ -95,9 +95,8 @@ _eglUnlinkContext(_EGLContext *ctx)
 static INLINE _EGLContext *
 _eglLookupContext(EGLContext context, _EGLDisplay *dpy)
 {
-   _EGLResource *res = (_EGLResource *) context;
    _EGLContext *ctx = (_EGLContext *) context;
-   if (!res || !dpy || !_eglCheckResource(res, _EGL_RESOURCE_CONTEXT, dpy))
+   if (!dpy || !_eglCheckResource((void *) ctx, _EGL_RESOURCE_CONTEXT, dpy))
       ctx = NULL;
    return ctx;
 }
diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c
index c978adb..74c655d 100644
--- a/src/egl/main/egldisplay.c
+++ b/src/egl/main/egldisplay.c
@@ -214,12 +214,15 @@ _eglCheckDisplayHandle(EGLDisplay dpy)
  * own the resource.
  */
 EGLBoolean
-_eglCheckResource(_EGLResource *res, _EGLResourceType type, _EGLDisplay *dpy)
+_eglCheckResource(void *res, _EGLResourceType type, _EGLDisplay *dpy)
 {
    _EGLResource *list = dpy->ResourceLists[type];
    
+   if (!res)
+      return EGL_FALSE;
+
    while (list) {
-      if (res == list) {
+      if (res == (void *) list) {
          assert(list->Display == dpy);
          break;
       }
diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h
index 70fe295..5d44eb1 100644
--- a/src/egl/main/egldisplay.h
+++ b/src/egl/main/egldisplay.h
@@ -107,7 +107,7 @@ _eglCheckDisplayHandle(EGLDisplay dpy);
 
 
 extern EGLBoolean
-_eglCheckResource(_EGLResource *res, _EGLResourceType type, _EGLDisplay *dpy);
+_eglCheckResource(void *res, _EGLResourceType type, _EGLDisplay *dpy);
 
 
 #else /* !_EGL_SKIP_HANDLE_CHECK */
@@ -122,9 +122,9 @@ _eglCheckDisplayHandle(EGLDisplay dpy)
 
 
 static INLINE EGLBoolean
-_eglCheckResource(_EGLResource *res, _EGLResourceType type, _EGLDisplay *dpy)
+_eglCheckResource(void *res, _EGLResourceType type, _EGLDisplay *dpy);
 {
-   return (res->Display == dpy);
+   return (((_EGLResource *) res)->Display == dpy);
 }
 
 
diff --git a/src/egl/main/eglimage.h b/src/egl/main/eglimage.h
index 026b103..43107c2 100644
--- a/src/egl/main/eglimage.h
+++ b/src/egl/main/eglimage.h
@@ -61,9 +61,8 @@ _eglUnlinkImage(_EGLImage *img)
 static INLINE _EGLImage *
 _eglLookupImage(EGLImageKHR image, _EGLDisplay *dpy)
 {
-   _EGLResource *res = (_EGLResource *) image;
    _EGLImage *img = (_EGLImage *) image;
-   if (!res || !dpy || !_eglCheckResource(res, _EGL_RESOURCE_IMAGE, dpy))
+   if (!dpy || !_eglCheckResource((void *) img, _EGL_RESOURCE_IMAGE, dpy))
       img = NULL;
    return img;
 }
diff --git a/src/egl/main/eglsurface.h b/src/egl/main/eglsurface.h
index da07133..f164235 100644
--- a/src/egl/main/eglsurface.h
+++ b/src/egl/main/eglsurface.h
@@ -141,9 +141,8 @@ _eglUnlinkSurface(_EGLSurface *surf)
 static INLINE _EGLSurface *
 _eglLookupSurface(EGLSurface surface, _EGLDisplay *dpy)
 {
-   _EGLResource *res = (_EGLResource *) surface;
    _EGLSurface *surf = (_EGLSurface *) surface;
-   if (!res || !dpy || !_eglCheckResource(res, _EGL_RESOURCE_SURFACE, dpy))
+   if (!dpy || !_eglCheckResource((void *) surf, _EGL_RESOURCE_SURFACE, dpy))
       surf = NULL;
    return surf;
 }




More information about the mesa-commit mailing list