i965/fs: Implement texelFetch() on Ironlake and Sandybridge.
[mesa.git] / src / mesa / program / program_parser.h
index be952d4b9c88b7b3e5973e15ee9b6e25081f3e73..5637598f3b37007ce09a417793a765d7b3abf0df 100644 (file)
 #pragma once
 
 #include "main/config.h"
+#include "program/prog_parameter.h"
 
-#ifndef MTYPES_H
-struct __GLcontextRec;
-typedef struct __GLcontextRec GLcontext;
-#endif
+struct gl_context;
 
 enum asm_type {
    at_none,
@@ -99,7 +97,7 @@ struct asm_symbol {
 
 struct asm_vector {
    unsigned count;
-   float    data[4];
+   gl_constant_value data[4];
 };
 
 
@@ -131,7 +129,7 @@ struct asm_instruction {
 
 
 struct asm_parser_state {
-   GLcontext *ctx;
+   struct gl_context *ctx;
    struct gl_program *prog;
 
    /**
@@ -176,6 +174,7 @@ struct asm_parser_state {
    unsigned MaxClipPlanes;
    unsigned MaxLights;
    unsigned MaxProgramMatrices;
+   unsigned MaxDrawBuffers;
    /*@}*/
 
    /**
@@ -237,7 +236,7 @@ typedef struct YYLTYPE {
 #define YYLTYPE_IS_TRIVIAL 1
 
 
-extern GLboolean _mesa_parse_arb_program(GLcontext *ctx, GLenum target,
+extern GLboolean _mesa_parse_arb_program(struct gl_context *ctx, GLenum target,
     const GLubyte *str, GLsizei len, struct asm_parser_state *state);