From: Homer Hsing Date: Fri, 7 Sep 2012 01:53:17 +0000 (+0800) Subject: add data structure in src/brw_structs.h for supporting three-source-operator instruncions X-Git-Tag: intel-gpu-tools-1.4~624 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0d3f8495ea90515c3852c43fb38a345d5ac9c3da;p=profile%2Fextras%2Fintel-gpu-tools.git add data structure in src/brw_structs.h for supporting three-source-operator instruncions --- diff --git a/assembler/src/brw_structs.h b/assembler/src/brw_structs.h index 606f86d..30815b2 100644 --- a/assembler/src/brw_structs.h +++ b/assembler/src/brw_structs.h @@ -1120,6 +1120,25 @@ struct brw_instruction GLuint dest_horiz_stride:2; GLuint dest_address_mode:1; } ia16; /* indirect align16 */ + + struct + { + GLuint pad0:1; /* reserved */ + GLuint flag_subreg_nr:1; + GLuint flag_reg_nr:1; + GLuint pad1:1; /* reserved */ + GLuint src0_modifier:2; + GLuint src1_modifier:2; + GLuint src2_modifier:2; + GLuint src_reg_type:2; + GLuint dest_reg_type:2; + GLuint pad2:1; /* reserved */ + GLuint nib_ctrl:1; + GLuint pad3:1; /* reserved */ + GLuint dest_writemask:4; + GLuint dest_subreg_nr:3; + GLuint dest_reg_nr:8; + } three_src_gen7; /* Three-source-operator instructions for Gen7+ */ } bits1; @@ -1190,6 +1209,18 @@ struct brw_instruction GLuint pad1:5; } ia16; /* indirect align16 */ + struct + { + GLuint src0_rep_ctrl:1; + GLuint src0_swizzle:8; + GLuint src0_subreg_nr:3; + GLuint src0_reg_nr:8; + GLuint pad0:1; /* reserved */ + GLuint src1_rep_ctrl:1; + GLuint src1_swizzle:8; + GLuint src1_subreg_nr_low:2; /* src1_subreg_nr spans on two DWORDs */ + } three_src_gen7; /* Three-source-operator instructions for Gen7+ */ + struct { GLuint pad:26; @@ -1264,6 +1295,17 @@ struct brw_instruction GLuint pad2:7; } ia16; /* indirect align16 */ + struct + { + GLuint src1_subreg_nr_high:1; /* src1_subreg_nr spans on two DWORDs */ + GLuint src1_reg_nr:8; + GLuint pad0:1; /* reserved */ + GLuint src2_rep_ctrl:1; + GLuint src2_swizzle:8; + GLuint src2_subreg_nr:3; + GLuint src2_reg_nr:8; + GLuint pad1:2; /* reserved */ + } three_src_gen7; /* Three-source-operator instructions for Gen7+ */ struct {