Mesa (master): llvmpipe: Tighten check for alpha-only formats

Roland Scheidegger sroland at kemper.freedesktop.org
Thu Mar 20 15:51:21 UTC 2014


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

Author: Richard Sandiford <rsandifo at linux.vnet.ibm.com>
Date:   Wed Mar 19 17:12:38 2014 +0000

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 <rsandifo at linux.vnet.ibm.com>

---

 src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c b/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c
index 377eaa5..564e19a 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);
    }
 




More information about the mesa-commit mailing list