From: Dave Airlie Date: Wed, 3 Feb 2010 08:56:40 +0000 (+1000) Subject: r300: fix compiler bugs introduced with MRT changes. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f9d734c309ca044fc70dc79eafe32b12460d65c0;p=mesa.git r300: fix compiler bugs introduced with MRT changes. the first looks like a definite bug, the second I'm not so confident of but it works. Signed-off-by: Dave Airlie --- diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_pair_translate.c b/src/mesa/drivers/dri/r300/compiler/radeon_pair_translate.c index 80cc5ffe955..fff5b0c2173 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_pair_translate.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_pair_translate.c @@ -208,8 +208,8 @@ static void set_pair_instruction(struct r300_fragment_program_compiler *c, } else { for (i = 0; i < 4; i++) { if (inst->DstReg.Index == c->OutputColor[i]) { - pair->RGB.Target = inst->DstReg.Index; - pair->Alpha.Target = inst->DstReg.Index; + pair->RGB.Target = i; + pair->Alpha.Target = i; pair->RGB.OutputWriteMask |= inst->DstReg.WriteMask & RC_MASK_XYZ; pair->Alpha.OutputWriteMask |= diff --git a/src/mesa/drivers/dri/r300/r300_fragprog_common.c b/src/mesa/drivers/dri/r300/r300_fragprog_common.c index 3ec43e62bd9..a0e2dd3c09f 100644 --- a/src/mesa/drivers/dri/r300/r300_fragprog_common.c +++ b/src/mesa/drivers/dri/r300/r300_fragprog_common.c @@ -221,6 +221,7 @@ static void translate_fragment_program(GLcontext *ctx, struct r300_fragment_prog compiler.state = fp->state; compiler.is_r500 = (r300->radeon.radeonScreen->chip_family >= CHIP_FAMILY_RV515) ? GL_TRUE : GL_FALSE; compiler.OutputDepth = FRAG_RESULT_DEPTH; + memset(compiler.OutputColor, 0, 4 * sizeof(unsigned)); compiler.OutputColor[0] = FRAG_RESULT_COLOR; compiler.AllocateHwInputs = &allocate_hw_inputs;