diff options
Diffstat (limited to 'src/glsl/glcpp')
-rw-r--r-- | src/glsl/glcpp/glcpp.c | 13 | ||||
-rw-r--r-- | src/glsl/glcpp/glcpp.h | 4 | ||||
-rw-r--r-- | src/glsl/glcpp/pp.c | 4 |
3 files changed, 17 insertions, 4 deletions
diff --git a/src/glsl/glcpp/glcpp.c b/src/glsl/glcpp/glcpp.c index 7c2ded850bd..79fbdac5cc0 100644 --- a/src/glsl/glcpp/glcpp.c +++ b/src/glsl/glcpp/glcpp.c @@ -94,6 +94,14 @@ load_text_file(void *ctx, const char *filename) return text; } +/* Initialize only those things that glcpp cares about. + */ +static void +init_fake_gl_context (struct gl_context *gl_ctx) +{ + gl_ctx->API = API_OPENGL_COMPAT; +} + int main (int argc, char *argv[]) { @@ -102,6 +110,9 @@ main (int argc, char *argv[]) char *info_log = ralloc_strdup(ctx, ""); const char *shader; int ret; + struct gl_context gl_ctx; + + init_fake_gl_context (&gl_ctx); if (argc) { filename = argv[1]; @@ -111,7 +122,7 @@ main (int argc, char *argv[]) if (shader == NULL) return 1; - ret = glcpp_preprocess(ctx, &shader, &info_log, NULL, API_OPENGL_COMPAT); + ret = glcpp_preprocess(ctx, &shader, &info_log, NULL, &gl_ctx); printf("%s", shader); fprintf(stderr, "%s", info_log); diff --git a/src/glsl/glcpp/glcpp.h b/src/glsl/glcpp/glcpp.h index 03a77b7047a..8aaa551d128 100644 --- a/src/glsl/glcpp/glcpp.h +++ b/src/glsl/glcpp/glcpp.h @@ -27,6 +27,8 @@ #include <stdint.h> #include <stdbool.h> +#include "main/mtypes.h" + #include "../ralloc.h" #include "program/hash_table.h" @@ -198,7 +200,7 @@ glcpp_parser_destroy (glcpp_parser_t *parser); int glcpp_preprocess(void *ralloc_ctx, const char **shader, char **info_log, - const struct gl_extensions *extensions, int api); + const struct gl_extensions *extensions, struct gl_context *g_ctx); /* Functions for writing to the info log */ diff --git a/src/glsl/glcpp/pp.c b/src/glsl/glcpp/pp.c index 11b29417be2..5f86a499cd4 100644 --- a/src/glsl/glcpp/pp.c +++ b/src/glsl/glcpp/pp.c @@ -151,10 +151,10 @@ remove_line_continuations(glcpp_parser_t *ctx, const char *shader) int glcpp_preprocess(void *ralloc_ctx, const char **shader, char **info_log, - const struct gl_extensions *extensions, int api) + const struct gl_extensions *extensions, struct gl_context *gl_ctx) { int errors; - glcpp_parser_t *parser = glcpp_parser_create (extensions, api); + glcpp_parser_t *parser = glcpp_parser_create (extensions, gl_ctx->API); *shader = remove_line_continuations(parser, *shader); glcpp_lex_set_source_string (parser, *shader); |