summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmil Velikov <emil.velikov@collabora.com>2017-04-25 17:07:46 +0100
committerEmil Velikov <emil.l.velikov@gmail.com>2017-04-29 14:40:53 +0100
commita5c6ca96025d8127263caea1d47b75a25ab33d5a (patch)
treed16fddd2eeecdcd69962b37da75975416b157ede
parente5efaeb85c32c5c825c6adc3b394ba0860d81147 (diff)
egl: initialise dummy_thread via _eglInitThreadInfo
Considering we cannot make dummy_thread a constant we might as well, initialise by the same function that handles the actual thread info. This way we don't need to worry about mismatch between the initialiser and initialising function. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
-rw-r--r--src/egl/main/eglcurrent.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/egl/main/eglcurrent.c b/src/egl/main/eglcurrent.c
index eae7bdcea15..26f42761e26 100644
--- a/src/egl/main/eglcurrent.c
+++ b/src/egl/main/eglcurrent.c
@@ -37,12 +37,8 @@
#include "eglcurrent.h"
#include "eglglobals.h"
-/* This should be kept in sync with _eglInitThreadInfo() */
-#define _EGL_THREAD_INFO_INITIALIZER \
- { EGL_SUCCESS, NULL, EGL_OPENGL_ES_API, NULL, NULL, NULL }
-
/* a fallback thread info to guarantee that every thread always has one */
-static _EGLThreadInfo dummy_thread = _EGL_THREAD_INFO_INITIALIZER;
+static _EGLThreadInfo dummy_thread;
static mtx_t _egl_TSDMutex = _MTX_INITIALIZER_NP;
static EGLBoolean _egl_TSDInitialized;
static tss_t _egl_TSD;
@@ -109,7 +105,6 @@ static inline EGLBoolean _eglInitTSD(void (*dtor)(_EGLThreadInfo *))
static void
_eglInitThreadInfo(_EGLThreadInfo *t)
{
- memset(t, 0, sizeof(*t));
t->LastError = EGL_SUCCESS;
/* default, per EGL spec */
t->CurrentAPI = EGL_OPENGL_ES_API;
@@ -123,10 +118,10 @@ static _EGLThreadInfo *
_eglCreateThreadInfo(void)
{
_EGLThreadInfo *t = calloc(1, sizeof(_EGLThreadInfo));
- if (t)
- _eglInitThreadInfo(t);
- else
+ if (!t)
t = &dummy_thread;
+
+ _eglInitThreadInfo(t);
return t;
}