summaryrefslogtreecommitdiff
path: root/assembler/gen4asm.h
diff options
context:
space:
mode:
Diffstat (limited to 'assembler/gen4asm.h')
-rw-r--r--assembler/gen4asm.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/assembler/gen4asm.h b/assembler/gen4asm.h
index 3f3db30b..eb06e02f 100644
--- a/assembler/gen4asm.h
+++ b/assembler/gen4asm.h
@@ -26,6 +26,8 @@
*
*/
+#include <sys/types.h>
+
typedef unsigned char GLubyte;
typedef short GLshort;
typedef unsigned int GLuint;
@@ -37,6 +39,26 @@ typedef float GLfloat;
void yyerror (char *msg);
/**
+ * This structure is the internal representation of source operands in the
+ * parser.
+ */
+struct src_operand {
+ int reg_file, reg_nr, subreg_nr, reg_type;
+
+ int abs, negate;
+
+ int horiz_stride, width, vert_stride;
+
+ int address_mode; /* 0 if direct, 1 if register-indirect */
+ int indirect_offset; /* XXX */
+
+ int swizzle_set;
+ int swizzle_x, swizzle_y, swizzle_z, swizzle_w;
+
+ uint32_t imm32; /* only set if reg_file == BRW_IMMEDIATE_VALUE */
+} src_operand;
+
+/**
* This structure is just the list container for instructions accumulated by
* the parser.
*/