[Mesa-dev] [PATCH] glsl: reuse main extension table to appropriate restrict extensions

Emil Velikov emil.l.velikov at gmail.com
Mon Jun 13 16:11:41 UTC 2016


Hi Ilia,

On 13 June 2016 at 00:23, Ilia Mirkin <imirkin at alum.mit.edu> wrote:

> @@ -81,6 +81,7 @@ MAIN_FILES = \
>         main/execmem.c \
>         main/extensions.c \
>         main/extensions.h \
> +       main/extensions_table.c \
>From a build perspective everything looks amazing. Thank you !


> --- a/src/mesa/main/extensions.c
> +++ b/src/mesa/main/extensions.c
> @@ -49,25 +49,15 @@ static char *extra_extensions = NULL;
>  #define o(x) offsetof(struct gl_extensions, x)
>
>
> -/**
> - * \brief Table of supported OpenGL extensions for all API's.
> - */
> -const struct mesa_extension _mesa_extension_table[] = {
> +static bool extension_table_size[] = {
>  #define EXT(name_str, driver_cap, gll_ver, glc_ver, gles_ver, gles2_ver, yyyy) \
> -        { .name = "GL_" #name_str, .offset = o(driver_cap), \
> -          .version = { \
> -            [API_OPENGL_COMPAT] = gll_ver, \
> -            [API_OPENGL_CORE]   = glc_ver, \
> -            [API_OPENGLES]      = gles_ver, \
> -            [API_OPENGLES2]     = gles2_ver, \
> -           }, \
> -           .year = yyyy \
> -        },
> +   0,
> +
>  #include "extensions_table.h"
>  #undef EXT
>  };
>
An alternative idea to the one proposed by Eric:
Explicitly set the array size (ideally as a macro in the relevant
header) and use that instead of having a dummy array, only to know the
array size.

-Emil


More information about the mesa-dev mailing list