mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-20 03:30:36 +02:00
Put extension flags, string into separate struct.
This commit is contained in:
parent
f576450cae
commit
5285c32a17
3 changed files with 25 additions and 18 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -5,10 +5,22 @@
|
|||
#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.
|
||||
*/
|
||||
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue