Module: Mesa
Branch: asm-shader-rework-3
Commit: aa9c97836b567f1e8c09ebb53b0e8a9038582a07
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa9c97836b567f1e8c09ebb53b0e8a9038582a07

Author: Ian Romanick <[email protected]>
Date:   Fri Oct  2 12:16:35 2009 -0700

ARB prog parser: Compact several '*_binding' fields into a single field

---

 src/mesa/shader/program_parse.y  |   16 ++++++++--------
 src/mesa/shader/program_parser.h |   12 +++++-------
 2 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y
index 76d5c43..704382c 100644
--- a/src/mesa/shader/program_parse.y
+++ b/src/mesa/shader/program_parse.y
@@ -929,7 +929,7 @@ srcReg: USED_IDENTIFIER /* temporaryReg | progParamSingle */
           switch (s->type) {
           case at_temp:
              $$.Base.File = PROGRAM_TEMPORARY;
-             $$.Base.Index = s->temp_binding;
+             $$.Base.Index = s->binding;
              break;
           case at_param:
              $$.Base.File = s->param_binding_type;
@@ -937,7 +937,7 @@ srcReg: USED_IDENTIFIER /* temporaryReg | progParamSingle */
              break;
           case at_attrib:
              $$.Base.File = PROGRAM_INPUT;
-             $$.Base.Index = s->attrib_binding;
+             $$.Base.Index = s->binding;
              state->prog->InputsRead |= (1U << $$.Base.Index);
 
              if (!validate_inputs(& @1, state)) {
@@ -1015,11 +1015,11 @@ dstReg: resultBinding
           switch (s->type) {
           case at_temp:
              $$.File = PROGRAM_TEMPORARY;
-             $$.Index = s->temp_binding;
+             $$.Index = s->binding;
              break;
           case at_output:
              $$.File = PROGRAM_OUTPUT;
-             $$.Index = s->output_binding;
+             $$.Index = s->binding;
              break;
           default:
              $$.File = s->param_binding_type;
@@ -1275,8 +1275,8 @@ ATTRIB_statement: ATTRIB IDENTIFIER '=' attribBinding
           if (s == NULL) {
              YYERROR;
           } else {
-             s->attrib_binding = $4;
-             state->InputsBound |= (1U << s->attrib_binding);
+             s->binding = $4;
+             state->InputsBound |= (1U << s->binding);
 
              if (!validate_inputs(& @4, state)) {
                 YYERROR;
@@ -2154,7 +2154,7 @@ OUTPUT_statement: optVarSize OUTPUT IDENTIFIER '=' 
resultBinding
           if (s == NULL) {
              YYERROR;
           } else {
-             s->output_binding = $5;
+             s->binding = $5;
           }
        }
        ;
@@ -2520,7 +2520,7 @@ declare_variable(struct asm_parser_state *state, char 
*name, enum asm_type t,
            return NULL;
         }
 
-        s->temp_binding = state->prog->NumTemporaries;
+        s->binding = state->prog->NumTemporaries;
         state->prog->NumTemporaries++;
         break;
 
diff --git a/src/mesa/shader/program_parser.h b/src/mesa/shader/program_parser.h
index cd057a2..23de410 100644
--- a/src/mesa/shader/program_parser.h
+++ b/src/mesa/shader/program_parser.h
@@ -53,8 +53,11 @@ struct asm_symbol {
    struct asm_symbol *next;    /**< List linkage for freeing. */
    const char *name;
    enum asm_type type;
-   unsigned attrib_binding;
-   unsigned output_binding;   /**< Output / result register number. */
+
+   /**
+    * Index of the register assigned to this variable.
+    */
+   unsigned binding;
 
    /**
     * One of PROGRAM_STATE_VAR, PROGRAM_LOCAL_PARAM, or PROGRAM_ENV_PARAM.
@@ -74,11 +77,6 @@ struct asm_symbol {
    unsigned param_binding_length;
 
    /**
-    * Index of the temp register assigned to this variable.
-    */
-   unsigned temp_binding;
-
-   /**
     * Flag whether or not a PARAM is an array
     */
    unsigned param_is_array:1;

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to