Mesa (asm-shader-rework-3): ARB prog parser: Compact several '*_binding' fields into a single field

Ian Romanick idr at kemper.freedesktop.org
Tue Oct 13 22:19:54 UTC 2009


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

Author: Ian Romanick <ian.d.romanick at intel.com>
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;




More information about the mesa-commit mailing list