configure.ac: GLX cannot work without OpenGL
[mesa.git] / src / glsl / glcpp / glcpp.h
index 869de2efbcc7daf861c6306cb94269f12b8a8aad..8aaa551d128b538f11c59a4727cb869d27e5674d 100644 (file)
 #define GLCPP_H
 
 #include <stdint.h>
+#include <stdbool.h>
 
-#include <talloc.h>
+#include "main/mtypes.h"
 
-#include "hash_table.h"
+#include "../ralloc.h"
+
+#include "program/hash_table.h"
 
 #define yyscan_t void*
 
@@ -174,13 +177,20 @@ struct glcpp_parser {
        token_node_t *lex_from_node;
        char *output;
        char *info_log;
+       size_t output_length;
+       size_t info_log_length;
        int error;
+       bool has_new_line_number;
+       int new_line_number;
+       bool has_new_source_number;
+       int new_source_number;
+       bool is_gles;
 };
 
 struct gl_extensions;
 
 glcpp_parser_t *
-glcpp_parser_create (const struct gl_extensions *extensions);
+glcpp_parser_create (const struct gl_extensions *extensions, int api);
 
 int
 glcpp_parser_parse (glcpp_parser_t *parser);
@@ -189,8 +199,8 @@ void
 glcpp_parser_destroy (glcpp_parser_t *parser);
 
 int
-preprocess(void *talloc_ctx, const char **shader, char **info_log,
-          const struct gl_extensions *extensions);
+glcpp_preprocess(void *ralloc_ctx, const char **shader, char **info_log,
+          const struct gl_extensions *extensions, struct gl_context *g_ctx);
 
 /* Functions for writing to the info log */
 
@@ -219,28 +229,4 @@ glcpp_lex_destroy (yyscan_t scanner);
 int
 yyparse (glcpp_parser_t *parser);
 
-/* xtalloc - wrappers around talloc to check for out-of-memory */
-
-#define xtalloc(ctx, type) (type *)xtalloc_named_const(ctx, sizeof(type), #type)
-
-#define xtalloc_size(ctx, size) xtalloc_named_const(ctx, size, __location__)
-
-void *
-xtalloc_named_const (const void *context, size_t size, const char *name);
-
-char *
-xtalloc_strdup (const void *t, const char *p);
-
-char *
-xtalloc_strndup (const void *t, const char *p, size_t n);
-
-char *
-xtalloc_asprintf (const void *t, const char *fmt, ...);
-
-void *
-_xtalloc_reference_loc (const void *context,
-                       const void *ptr, const char *location);
-
-#define xtalloc_reference(ctx, ptr) (_TALLOC_TYPEOF(ptr))_xtalloc_reference_loc((ctx),(ptr), __location__)
-
 #endif