From c22990c29a5cdff89e6e3914aa565acc88a6a407 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 4 May 2005 03:33:21 +0000 Subject: sync with latest EGL_MESA_screen_surface spec (EGLScreenMESA handles) --- src/egl/main/eglglobals.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/egl/main/eglglobals.c') diff --git a/src/egl/main/eglglobals.c b/src/egl/main/eglglobals.c index 102e550620..6265b07529 100644 --- a/src/egl/main/eglglobals.c +++ b/src/egl/main/eglglobals.c @@ -16,6 +16,7 @@ _eglInitGlobals(void) _eglGlobal.Displays = _eglNewHashTable(); _eglGlobal.Contexts = _eglNewHashTable(); _eglGlobal.Surfaces = _eglNewHashTable(); + _eglGlobal.FreeScreenHandle = 1; _eglGlobal.CurrentContext = EGL_NO_CONTEXT; _eglGlobal.LastError = EGL_SUCCESS; _eglGlobal.Initialized = EGL_TRUE; @@ -49,3 +50,16 @@ _eglError(EGLint errCode, const char *msg) fprintf(stderr, "EGL Error 0x%x in %s\n", errCode, msg); } } + + +/** + * Return a new screen handle/ID. + * NOTE: we never reuse these! + */ +EGLScreenMESA +_eglAllocScreenHandle(void) +{ + EGLScreenMESA s = _eglGlobal.FreeScreenHandle; + _eglGlobal.FreeScreenHandle++; + return s; +} -- cgit v1.2.3