[Mesa-dev] [PATCH 8/9] glcpp: add gl_context to glcpp_parser_t
Ian Romanick
idr at freedesktop.org
Fri Apr 13 11:04:51 PDT 2012
On 04/13/2012 08:52 AM, nobled wrote:
> ---
> src/glsl/glcpp/glcpp-parse.y | 5 ++++-
> src/glsl/glcpp/glcpp.h | 5 ++---
> src/glsl/glcpp/pp.c | 3 +--
> 3 files changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y
> index 47ba54d..dd90a34 100644
> --- a/src/glsl/glcpp/glcpp-parse.y
> +++ b/src/glsl/glcpp/glcpp-parse.y
> @@ -1081,16 +1081,19 @@ static void add_builtin_define(glcpp_parser_t *parser,
> }
>
> glcpp_parser_t *
> -glcpp_parser_create (const struct gl_extensions *extensions, int api)
> +glcpp_parser_create (int api, struct gl_context *ctx)
Pretty much everywhere else in Mesa the gl_context is the first
parameter. Some of the earlier patches may also deviate from the
"usual" ordering.
> {
> glcpp_parser_t *parser;
> int language_version;
> + const struct gl_extensions *extensions;
>
> parser = ralloc (NULL, glcpp_parser_t);
> + extensions = ctx ?&ctx->Extensions : NULL;
>
> glcpp_lex_init_extra (parser,&parser->scanner);
> parser->defines = hash_table_ctor (32, hash_table_string_hash,
> hash_table_string_compare);
> + parser->ctx = ctx;
> parser->active = NULL;
> parser->lexing_if = 0;
> parser->space_tokens = 1;
> diff --git a/src/glsl/glcpp/glcpp.h b/src/glsl/glcpp/glcpp.h
> index 0c52077..699b21b 100644
> --- a/src/glsl/glcpp/glcpp.h
> +++ b/src/glsl/glcpp/glcpp.h
> @@ -164,6 +164,7 @@ struct gl_context;
>
> struct glcpp_parser {
> yyscan_t scanner;
> + struct gl_context *ctx;
> struct hash_table *defines;
> active_list_t *active;
> int lexing_if;
> @@ -181,10 +182,8 @@ struct glcpp_parser {
> int error;
> };
>
> -struct gl_extensions;
> -
> glcpp_parser_t *
> -glcpp_parser_create (const struct gl_extensions *extensions, int api);
> +glcpp_parser_create (int api, struct gl_context *glctx);
>
> int
> glcpp_parser_parse (glcpp_parser_t *parser);
> diff --git a/src/glsl/glcpp/pp.c b/src/glsl/glcpp/pp.c
> index 7218eeb..32054bb 100644
> --- a/src/glsl/glcpp/pp.c
> +++ b/src/glsl/glcpp/pp.c
> @@ -149,8 +149,7 @@ preprocess(void *ralloc_ctx, const char **shader,
> char **info_log,
> int api, struct gl_context *glctx)
> {
> int errors;
> - struct gl_extensions *extensions = glctx ?&glctx->Extensions : NULL;
> - glcpp_parser_t *parser = glcpp_parser_create (extensions, api);
> + glcpp_parser_t *parser = glcpp_parser_create (api, glctx);
> *shader = remove_line_continuations(parser, *shader);
>
> glcpp_lex_set_source_string (parser, *shader);
More information about the mesa-dev
mailing list