From: Richard Sandiford Date: Wed, 19 Mar 2014 17:12:38 +0000 (+0000) Subject: llvmpipe: Tighten check for alpha-only formats X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f4b3430a36ea88707f59ce147a140a1a559378c5;p=mesa.git llvmpipe: Tighten check for alpha-only formats The AoS version of ld_build_blend_factor was assuming that if the first channel was alpha, there were no rgb components. Fixes glean/blendFunc on System z. No piglit regressions on x86_64. The shortcut is still used in tests like spec/ARB_framebuffer_object/ fbo-alpha. Signed-off-by: Richard Sandiford --- diff --git a/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c b/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c index 377eaa5a6e0..564e19a1565 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c @@ -255,7 +255,7 @@ lp_build_blend_factor(struct lp_build_blend_aos_context *bld, LLVMValueRef rgb_factor_, alpha_factor_; enum lp_build_blend_swizzle rgb_swizzle; - if (alpha_swizzle == 0) { + if (alpha_swizzle == UTIL_FORMAT_SWIZZLE_X && num_channels == 1) { return lp_build_blend_factor_unswizzled(bld, alpha_factor, TRUE); }