r5xx: Fix magic offsets for output fifo write masks.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Mon, 19 May 2008 07:00:08 +0000 (00:00 -0700)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Mon, 19 May 2008 07:00:08 +0000 (00:00 -0700)
Well, this sure explains a lot.

src/mesa/drivers/dri/r300/r500_fragprog.c

index ef8717e387a3b8776197bf85befc8869f0e34023..4fc5a676a509ec38d7cf80cf4d654063e4a1aa6b 100644 (file)
@@ -346,7 +346,7 @@ static void emit_alu(struct r500_fragment_program *fp, int counter, struct prog_
        if (fpi->DstReg.File == PROGRAM_OUTPUT) {
                fp->inst[counter].inst0 = R500_INST_TYPE_OUT
                        /* output_mask */
-                       | (fpi->DstReg.WriteMask << 14);
+                       | (fpi->DstReg.WriteMask << 15);
        } else {
                fp->inst[counter].inst0 = R500_INST_TYPE_ALU
                        /* pixel_mask */
@@ -397,7 +397,7 @@ static GLboolean parse_program(struct r500_fragment_program *fp)
                        dest = make_dest(fp, fpi->DstReg);
 
                        pixel_mask = fpi->DstReg.WriteMask << 11;
-                       output_mask = fpi->DstReg.WriteMask << 14;
+                       output_mask = fpi->DstReg.WriteMask << 15;
                }
 
                switch (fpi->Opcode) {