diff options
author | Zou Nan hai <[email protected]> | 2011-04-07 21:07:57 +0800 |
---|---|---|
committer | Zou Nan hai <[email protected]> | 2011-04-07 21:07:57 +0800 |
commit | 66b66295d0bc856c69fdcccc22575580c7ecee16 (patch) | |
tree | 3876e708cee14431040e11f9adb07820f0e43961 /src/mesa | |
parent | 8800a798d1f0cc3453d01ceaf2f4972d3ae75baa (diff) |
i965: clear global offset to zero in m0.2 for VS DP read.
Signed-off-by: Zou Nan hai <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_eu_emit.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index 57313a59c08..c5cde221669 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -1759,6 +1759,11 @@ void brw_dp_READ_4_vs(struct brw_compile *p, brw_set_compression_control(p, BRW_COMPRESSION_NONE); brw_set_mask_control(p, BRW_MASK_DISABLE); brw_set_predicate_control(p, BRW_PREDICATE_NONE); + + /* M0.2 is global offset */ + brw_MOV(p, retype(get_element(brw_message_reg(0), 2), BRW_REGISTER_TYPE_D), + brw_imm_d(0)); + brw_MOV(p, retype(brw_vec1_reg(BRW_MESSAGE_REGISTER_FILE, msg_reg_nr, 2), BRW_REGISTER_TYPE_UD), brw_imm_ud(location)); @@ -1809,6 +1814,10 @@ void brw_dp_READ_4_vs_relative(struct brw_compile *p, brw_set_mask_control(p, BRW_MASK_DISABLE); brw_set_predicate_control(p, BRW_PREDICATE_NONE); + /* M0.2 is global offset */ + brw_MOV(p, retype(get_element(brw_message_reg(0), 2), BRW_REGISTER_TYPE_D), + brw_imm_d(0)); + /* M1.0 is block offset 0, M1.4 is block offset 1, all other * fields ignored. */ |