From 5285c32a17a8ec260dcb5d412d862e50bced0ce9 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 29 Nov 2005 04:43:37 +0000 Subject: [PATCH] Put extension flags, string into separate struct. --- src/egl/drivers/dri/egldri.c | 4 ++-- src/egl/main/egldriver.c | 18 +++++++++--------- src/egl/main/egldriver.h | 21 ++++++++++++++------- 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/egl/drivers/dri/egldri.c b/src/egl/drivers/dri/egldri.c index 2e8c745..d9dc29c 100644 --- a/src/egl/drivers/dri/egldri.c +++ b/src/egl/drivers/dri/egldri.c @@ -1117,6 +1117,6 @@ _eglDRIInitDriverFallbacks(_EGLDriver *drv) drv->API.SwapBuffers = _eglDRISwapBuffers; /* enable supported extensions */ - drv->MESA_screen_surface = EGL_TRUE; - drv->MESA_copy_context = EGL_TRUE; + drv->Extensions.MESA_screen_surface = EGL_TRUE; + drv->Extensions.MESA_copy_context = EGL_TRUE; } diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c index e2cc069..2b9034d 100644 --- a/src/egl/main/egldriver.c +++ b/src/egl/main/egldriver.c @@ -201,15 +201,15 @@ _eglInitDriverFallbacks(_EGLDriver *drv) * the driver's Extensions string. */ static void -UpdateExtensionsString(_EGLDriver *drv) +_eglUpdateExtensionsString(_EGLDriver *drv) { - drv->Extensions[0] = 0; + drv->Extensions.String[0] = 0; - if (drv->MESA_screen_surface) - strcat(drv->Extensions, "EGL_MESA_screen_surface "); - if (drv->MESA_copy_context) - strcat(drv->Extensions, "EGL_MESA_copy_context "); - assert(strlen(drv->Extensions) < MAX_EXTENSIONS_LEN); + if (drv->Extensions.MESA_screen_surface) + strcat(drv->Extensions.String, "EGL_MESA_screen_surface "); + if (drv->Extensions.MESA_copy_context) + strcat(drv->Extensions.String, "EGL_MESA_copy_context "); + assert(strlen(drv->Extensions.String) < MAX_EXTENSIONS_LEN); } @@ -225,8 +225,8 @@ _eglQueryString(_EGLDriver *drv, EGLDisplay dpy, EGLint name) case EGL_VERSION: return "1.0"; case EGL_EXTENSIONS: - UpdateExtensionsString(drv); - return drv->Extensions; + _eglUpdateExtensionsString(drv); + return drv->Extensions.String; default: _eglError(EGL_BAD_PARAMETER, "eglQueryString"); return NULL; diff --git a/src/egl/main/egldriver.h b/src/egl/main/egldriver.h index 6d2d707..51ec27c 100644 --- a/src/egl/main/egldriver.h +++ b/src/egl/main/egldriver.h @@ -5,11 +5,23 @@ #include "egltypedefs.h" #include "eglapi.h" -/* should probably use a dynamic-lengh string, but this will do */ +/* should probably use a dynamic-length string, but this will do */ #define MAX_EXTENSIONS_LEN 1000 /** + * Optional EGL extensions info. + */ +struct _egl_extensions +{ + EGLBoolean MESA_screen_surface; + EGLBoolean MESA_copy_context; + + char String[MAX_EXTENSIONS_LEN]; +}; + + +/** * Base class for device drivers. */ struct _egl_driver @@ -25,12 +37,7 @@ struct _egl_driver _EGLAPI API; - /* Extension enable flags */ - EGLBoolean MESA_screen_surface; - EGLBoolean MESA_copy_context; - - /* Extensions string */ - char Extensions[MAX_EXTENSIONS_LEN]; + _EGLExtensions Extensions; }; -- 2.7.4