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