egl: don't fill client apis string forever.
[mesa.git] / src / egl / main / eglscreen.c
index e21952094a224c6c477a3d6f2170eb437922a54c..42ac621fcd98d5f3602d96c7414140413200c084 100644 (file)
@@ -1,6 +1,6 @@
 /**************************************************************************
  *
- * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
+ * Copyright 2008 VMware, Inc.
  * Copyright 2009-2010 Chia-I Wu <olvaffe@gmail.com>
  * Copyright 2010 LunarG, Inc.
  * All Rights Reserved.
 #include <assert.h>
 #include <stdlib.h>
 #include <string.h>
+#include "c11/threads.h"
 
 #include "egldisplay.h"
 #include "eglcurrent.h"
 #include "eglmode.h"
 #include "eglsurface.h"
 #include "eglscreen.h"
-#include "eglmutex.h"
 
 
 #ifdef EGL_MESA_screen_surface
 
 
 /* ugh, no atomic op? */
-static _EGL_DECLARE_MUTEX(_eglNextScreenHandleMutex);
+static mtx_t _eglNextScreenHandleMutex = _MTX_INITIALIZER_NP;
 static EGLScreenMESA _eglNextScreenHandle = 1;
 
 
@@ -70,10 +70,10 @@ _eglAllocScreenHandle(void)
 {
    EGLScreenMESA s;
 
-   _eglLockMutex(&_eglNextScreenHandleMutex);
+   mtx_lock(&_eglNextScreenHandleMutex);
    s = _eglNextScreenHandle;
    _eglNextScreenHandle += _EGL_SCREEN_MAX_MODES;
-   _eglUnlockMutex(&_eglNextScreenHandleMutex);
+   mtx_unlock(&_eglNextScreenHandleMutex);
 
    return s;
 }
@@ -94,7 +94,7 @@ _eglInitScreen(_EGLScreen *screen, _EGLDisplay *dpy, EGLint num_modes)
 
    if (num_modes > _EGL_SCREEN_MAX_MODES)
       num_modes = _EGL_SCREEN_MAX_MODES;
-   screen->Modes = (_EGLMode *) calloc(num_modes, sizeof(*screen->Modes));
+   screen->Modes = calloc(num_modes, sizeof(*screen->Modes));
    screen->NumModes = (screen->Modes) ? num_modes : 0;
 }