From: Chia-I Wu Date: Sat, 4 Dec 2010 13:02:50 +0000 (+0800) Subject: st/vega: Fix VG_BLEND_MULTIPLY. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5d244111404fc36c55266f9703f81b27a5200a47;p=mesa.git st/vega: Fix VG_BLEND_MULTIPLY. TEMP[1].w will be needed for OUT.w just below. Use TEMP[0] to store the intermediate value. --- diff --git a/src/gallium/state_trackers/vega/asm_fill.h b/src/gallium/state_trackers/vega/asm_fill.h index 566f7c95f5b..5ff76975e22 100644 --- a/src/gallium/state_trackers/vega/asm_fill.h +++ b/src/gallium/state_trackers/vega/asm_fill.h @@ -367,7 +367,7 @@ blend_generic(struct ureg_program *ureg, ureg_scalar(dst, TGSI_SWIZZLE_W), ureg_negate(src), src); ureg_MAD(ureg, temp[1], src_channel_alpha, ureg_negate(dst), dst); - ureg_MAD(ureg, temp[1], src, dst, ureg_src(temp[1])); + ureg_MAD(ureg, temp[0], src, dst, ureg_src(temp[0])); ureg_ADD(ureg, out, ureg_src(temp[0]), ureg_src(temp[1])); /* alpha is src over */ ureg_ADD(ureg, ureg_writemask(out, TGSI_WRITEMASK_W),