Add support for destination writemasks.

This involved changing dest operands to have their own structure like src
operands, as the destination writemask (which is align16-only) shares space
with register numbers in align1 mode.
This commit is contained in:
Eric Anholt
2006-08-29 15:29:31 -07:00
committed by Damien Lespiau
parent de1a889fe3
commit 2dac0a19a4
2 changed files with 118 additions and 51 deletions
+15
View File
@@ -38,6 +38,21 @@ typedef float GLfloat;
void yyerror (char *msg);
/**
* This structure is the internal representation of destination operands in the
* parser.
*/
struct dst_operand {
int reg_file, reg_nr, subreg_nr, reg_type;
int writemask_set;
int writemask;
int horiz_stride;
int address_mode; /* 0 if direct, 1 if register-indirect */
int indirect_offset;
};
/**
* This structure is the internal representation of source operands in the
* parser.