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