summaryrefslogtreecommitdiff
path: root/assembler/gen4asm.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2006-08-29 15:29:31 -0700
committerDamien Lespiau <damien.lespiau@intel.com>2013-03-04 15:54:23 +0000
commit2dac0a19a438d27b03e901cc70ef0a9a27039154 (patch)
tree32d07b56157671bbb2aac522a422917c235d6bc6 /assembler/gen4asm.h
parentde1a889fe3554df47a6a751855ebae0cd1517e2f (diff)
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.
Diffstat (limited to 'assembler/gen4asm.h')
-rw-r--r--assembler/gen4asm.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/assembler/gen4asm.h b/assembler/gen4asm.h
index eb06e02f..2ac54b9c 100644
--- a/assembler/gen4asm.h
+++ b/assembler/gen4asm.h
@@ -39,6 +39,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.
*/