Mesa (master): i965: set BRW_MASK_DISABLE flag in "send" instruction in brw_dp_READ_4()

Brian Paul brianp at kemper.freedesktop.org
Thu Apr 9 01:40:28 UTC 2009


Module: Mesa
Branch: master
Commit: 8131123effd2124b8ca2aad04bf543e2fe82c7b0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8131123effd2124b8ca2aad04bf543e2fe82c7b0

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Apr  8 19:35:24 2009 -0600

i965: set BRW_MASK_DISABLE flag in "send" instruction in brw_dp_READ_4()

This fixes the random results that were seen when fetching a constant
inside an IF/ELSE clause.  Disabling the execution mask ensures that all
the components of the register are written.

---

 src/mesa/drivers/dri/i965/brw_eu_emit.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c
index 21ce836..220c3af 100644
--- a/src/mesa/drivers/dri/i965/brw_eu_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c
@@ -978,9 +978,10 @@ void brw_dp_READ_4( struct brw_compile *p,
    {
       struct brw_instruction *insn = next_insn(p, BRW_OPCODE_SEND);
    
-      insn->header.predicate_control = 0; /* XXX */
+      insn->header.predicate_control = BRW_PREDICATE_NONE;
       insn->header.compression_control = BRW_COMPRESSION_NONE; 
       insn->header.destreg__conditonalmod = msg_reg_nr;
+      insn->header.mask_control = BRW_MASK_DISABLE;
   
       /* cast dest to a uword[8] vector */
       dest = retype(vec8(dest), BRW_REGISTER_TYPE_UW);




More information about the mesa-commit mailing list