Merge branch 'mesa_7_7_branch'
[mesa.git] / src / mesa / shader / program_parser.h
index 25b413918aae2ed1765cb21195635084d441bc09..69396ca2c0f48ccc358426bf15587f0fe4714b7d 100644 (file)
@@ -35,16 +35,9 @@ enum asm_type {
    at_attrib,
    at_param,
    at_temp,
-   at_output,
+   at_output
 };
 
-/**
- * \note
- * Objects of this type are allocated as the object plus the name of the
- * symbol.  That is, malloc(sizeof(struct asm_symbol) + strlen(name) + 1).
- * Alternately, asm_symbol::name could be moved to the bottom of the structure
- * and declared as 'char name[0];'.
- */
 struct asm_symbol {
    struct asm_symbol *next;    /**< List linkage for freeing. */
    const char *name;
@@ -63,6 +56,12 @@ struct asm_symbol {
     */
    unsigned param_binding_begin;
 
+   /**
+    * Constants put into the parameter list may be swizzled.  This
+    * field contain's the symbol's swizzle. (SWIZZLE_X/Y/Z/W)
+    */
+   unsigned param_binding_swizzle;
+
    /* This is how many entries in the the program_parameter_list we take up
     * with our state tokens or constants. Note that this is _not_ the same as
     * the number of param registers we eventually use.
@@ -164,15 +163,6 @@ struct asm_parser_state {
    /*@}*/
 
 
-   /**
-    * Buffer to hold strings transfered from the lexer to the parser
-    */
-   /*@{*/
-   char *string_dumpster;      /**< String data transfered. */
-   size_t dumpster_size;       /**< Total size, in bytes, of the buffer. */
-   /*@}*/
-
-
    /**
     * Selected limits copied from gl_constants
     *