_EGLDisplay *disp = data;
_EGLImage *img;
- mtx_lock(&disp->Mutex);
+ simple_mtx_lock(&disp->Mutex);
img = _eglLookupImage(image, disp);
- mtx_unlock(&disp->Mutex);
+ simple_mtx_unlock(&disp->Mutex);
if (img == NULL) {
_eglError(EGL_BAD_PARAMETER, "dri2_validate_egl_image");
* we enter droid_window_enqueue_buffer() and re-acquire the mutex upon
* return.
*/
- mtx_unlock(&disp->Mutex);
+ simple_mtx_unlock(&disp->Mutex);
/* Queue the buffer with stored out fence fd. The ANativeWindow or buffer
* consumer may choose to wait for the fence to signal before accessing
dri2_surf->buffer = NULL;
dri2_surf->back = NULL;
- mtx_lock(&disp->Mutex);
+ simple_mtx_lock(&disp->Mutex);
if (dri2_surf->dri_image_back) {
dri2_dpy->image->destroyImage(dri2_surf->dri_image_back);
_EGLDisplay *disp = wgl_dpy->parent;
_EGLImage *img;
- mtx_lock(&disp->Mutex);
+ simple_mtx_lock(&disp->Mutex);
img = _eglLookupImage(image, disp);
- mtx_unlock(&disp->Mutex);
+ simple_mtx_unlock(&disp->Mutex);
if (img == NULL) {
_eglError(EGL_BAD_PARAMETER, "wgl_validate_egl_image");
{
_EGLDisplay *disp = _eglLookupDisplay(dpy);
if (disp)
- mtx_lock(&disp->Mutex);
+ simple_mtx_lock(&disp->Mutex);
return disp;
}
static inline void
_eglUnlockDisplay(_EGLDisplay *disp)
{
- mtx_unlock(&disp->Mutex);
+ simple_mtx_unlock(&disp->Mutex);
}
static void
RETURN_EGL_SUCCESS(NULL, EGL_TRUE);
disp = ctx->Resource.Display;
- mtx_lock(&disp->Mutex);
+ simple_mtx_lock(&disp->Mutex);
/* let bad current context imply bad current surface */
if (_eglGetContextHandle(ctx) == EGL_NO_CONTEXT ||
_EGL_FUNC_START(NULL, EGL_OBJECT_THREAD_KHR, NULL);
disp = ctx->Resource.Display;
- mtx_lock(&disp->Mutex);
+ simple_mtx_lock(&disp->Mutex);
/* let bad current context imply bad current surface */
if (_eglGetContextHandle(ctx) == EGL_NO_CONTEXT ||
if (ctx) {
_EGLDisplay *disp = ctx->Resource.Display;
- mtx_lock(&disp->Mutex);
+ simple_mtx_lock(&disp->Mutex);
(void) disp->Driver->MakeCurrent(disp, NULL, NULL, NULL);
- mtx_unlock(&disp->Mutex);
+ simple_mtx_unlock(&disp->Mutex);
}
_eglDestroyCurrentThread();
_EGL_FUNC_START(NULL, EGL_NONE, NULL);
- mtx_lock(_eglGlobal.Mutex);
+ simple_mtx_lock(_eglGlobal.Mutex);
newEnabled = _eglGlobal.debugTypesEnabled;
if (attrib_list != NULL) {
default:
// On error, set the last error code, call the current
// debug callback, and return the error code.
- mtx_unlock(_eglGlobal.Mutex);
+ simple_mtx_unlock(_eglGlobal.Mutex);
_eglReportError(EGL_BAD_ATTRIBUTE, NULL,
"Invalid attribute 0x%04lx", (unsigned long) attrib_list[i]);
return EGL_BAD_ATTRIBUTE;
_eglGlobal.debugTypesEnabled = _EGL_DEBUG_BIT_CRITICAL | _EGL_DEBUG_BIT_ERROR;
}
- mtx_unlock(_eglGlobal.Mutex);
+ simple_mtx_unlock(_eglGlobal.Mutex);
return EGL_SUCCESS;
}
{
_EGL_FUNC_START(NULL, EGL_NONE, NULL);
- mtx_lock(_eglGlobal.Mutex);
+ simple_mtx_lock(_eglGlobal.Mutex);
switch (attribute) {
case EGL_DEBUG_MSG_CRITICAL_KHR:
*value = (EGLAttrib) _eglGlobal.debugCallback;
break;
default:
- mtx_unlock(_eglGlobal.Mutex);
+ simple_mtx_unlock(_eglGlobal.Mutex);
_eglReportError(EGL_BAD_ATTRIBUTE, NULL,
"Invalid attribute 0x%04lx", (unsigned long) attribute);
return EGL_FALSE;
}
- mtx_unlock(_eglGlobal.Mutex);
+ simple_mtx_unlock(_eglGlobal.Mutex);
return EGL_TRUE;
}
if (funcName == NULL)
funcName = thr->CurrentFuncName;
- mtx_lock(_eglGlobal.Mutex);
+ simple_mtx_lock(_eglGlobal.Mutex);
if (_eglGlobal.debugTypesEnabled & DebugBitFromType(type))
callback = _eglGlobal.debugCallback;
- mtx_unlock(_eglGlobal.Mutex);
+ simple_mtx_unlock(_eglGlobal.Mutex);
char *message_buf = NULL;
if (message != NULL) {
{
_EGLDevice *cur;
- mtx_lock(_eglGlobal.Mutex);
+ simple_mtx_lock(_eglGlobal.Mutex);
cur = _eglGlobal.DeviceList;
while (cur) {
if (cur == (_EGLDevice *) device)
break;
cur = cur->Next;
}
- mtx_unlock(_eglGlobal.Mutex);
+ simple_mtx_unlock(_eglGlobal.Mutex);
return (cur != NULL);
}
{
_EGLDevice *dev;
- mtx_lock(_eglGlobal.Mutex);
+ simple_mtx_lock(_eglGlobal.Mutex);
dev = _eglGlobal.DeviceList;
/* The first device is always software */
#endif
out:
- mtx_unlock(_eglGlobal.Mutex);
+ simple_mtx_unlock(_eglGlobal.Mutex);
return dev;
}
if ((devices && max_devices <= 0) || !num_devices)
return _eglError(EGL_BAD_PARAMETER, "eglQueryDevicesEXT");
- mtx_lock(_eglGlobal.Mutex);
+ simple_mtx_lock(_eglGlobal.Mutex);
num_devs = _eglRefreshDeviceList();
devs = _eglGlobal.DeviceList;
}
out:
- mtx_unlock(_eglGlobal.Mutex);
+ simple_mtx_unlock(_eglGlobal.Mutex);
return EGL_TRUE;
}
if (plat == _EGL_INVALID_PLATFORM)
return NULL;
- mtx_lock(_eglGlobal.Mutex);
+ simple_mtx_lock(_eglGlobal.Mutex);
/* search the display list first */
for (disp = _eglGlobal.DisplayList; disp; disp = disp->Next) {
if (!disp)
goto out;
- mtx_init(&disp->Mutex, mtx_plain);
+ simple_mtx_init(&disp->Mutex, mtx_plain);
disp->Platform = plat;
disp->PlatformDisplay = plat_dpy;
num_attribs = _eglNumAttribs(attrib_list);
_eglGlobal.DisplayList = disp;
out:
- mtx_unlock(_eglGlobal.Mutex);
+ simple_mtx_unlock(_eglGlobal.Mutex);
return disp;
}
{
_EGLDisplay *cur;
- mtx_lock(_eglGlobal.Mutex);
+ simple_mtx_lock(_eglGlobal.Mutex);
cur = _eglGlobal.DisplayList;
while (cur) {
if (cur == (_EGLDisplay *) dpy)
break;
cur = cur->Next;
}
- mtx_unlock(_eglGlobal.Mutex);
+ simple_mtx_unlock(_eglGlobal.Mutex);
return (cur != NULL);
}
#ifndef EGLDISPLAY_INCLUDED
#define EGLDISPLAY_INCLUDED
-#include "c11/threads.h"
+#include "util/simple_mtx.h"
#include "egltypedefs.h"
#include "egldefines.h"
/* used to link displays */
_EGLDisplay *Next;
- mtx_t Mutex;
+ simple_mtx_t Mutex;
_EGLPlatformType Platform; /**< The type of the platform display */
void *PlatformDisplay; /**< A pointer to the platform display */
#include <stdio.h>
#include <string.h>
#include <assert.h>
-#include "c11/threads.h"
+#include "util/simple_mtx.h"
#include "eglglobals.h"
#include "egldevice.h"
#endif
-static mtx_t _eglGlobalMutex = _MTX_INITIALIZER_NP;
+static simple_mtx_t _eglGlobalMutex = _SIMPLE_MTX_INITIALIZER_NP;
struct _egl_global _eglGlobal =
{
if (func) {
static EGLBoolean registered = EGL_FALSE;
- mtx_lock(_eglGlobal.Mutex);
+ simple_mtx_lock(_eglGlobal.Mutex);
if (!registered) {
atexit(_eglAtExit);
assert(_eglGlobal.NumAtExitCalls < ARRAY_SIZE(_eglGlobal.AtExitCalls));
_eglGlobal.AtExitCalls[_eglGlobal.NumAtExitCalls++] = func;
- mtx_unlock(_eglGlobal.Mutex);
+ simple_mtx_unlock(_eglGlobal.Mutex);
}
}
#define EGLGLOBALS_INCLUDED
#include <stdbool.h>
-#include "c11/threads.h"
+#include "util/simple_mtx.h"
#include "egltypedefs.h"
*/
struct _egl_global
{
- mtx_t *Mutex;
+ simple_mtx_t *Mutex;
/* the list of all displays */
_EGLDisplay *DisplayList;