i965: Set the destination horiz stride even for da16, as SNB seems to need it.

This commit is contained in:
Zhenyu Wang 2010-08-20 15:01:11 -07:00 committed by Eric Anholt
parent 35c127362f
commit 3ce2eccbfb
2 changed files with 6 additions and 2 deletions

View file

@ -75,6 +75,8 @@ static void brw_set_dest( struct brw_instruction *insn,
else {
insn->bits1.da16.dest_subreg_nr = dest.subnr / 16;
insn->bits1.da16.dest_writemask = dest.dw1.bits.writemask;
/* even ignored in da16, still need to set as '01' */
insn->bits1.da16.dest_horiz_stride = 1;
}
}
else {
@ -90,6 +92,8 @@ static void brw_set_dest( struct brw_instruction *insn,
}
else {
insn->bits1.ia16.dest_indirect_offset = dest.dw1.bits.indirect_offset;
/* even ignored in da16, still need to set as '01' */
insn->bits1.ia16.dest_horiz_stride = 1;
}
}

View file

@ -1360,7 +1360,7 @@ struct brw_instruction
GLuint dest_writemask:4;
GLuint dest_subreg_nr:1;
GLuint dest_reg_nr:8;
GLuint pad1:2;
GLuint dest_horiz_stride:2;
GLuint dest_address_mode:1;
} da16;
@ -1374,7 +1374,7 @@ struct brw_instruction
GLuint dest_writemask:4;
GLint dest_indirect_offset:6;
GLuint dest_subreg_nr:3;
GLuint pad1:2;
GLuint dest_horiz_stride:2;
GLuint dest_address_mode:1;
} ia16;
} bits1;