From e7fc21434d2c5a9177a427950be5029ff4db43ee Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Sun, 9 Aug 2009 22:59:52 +0100 Subject: llvmpipe: Handle disabled blending too. --- src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c | 3 +++ src/gallium/drivers/llvmpipe/lp_bld_blend_soa.c | 9 +++++++++ src/gallium/drivers/llvmpipe/lp_test_blend.c | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) (limited to 'src/gallium') diff --git a/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c b/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c index e4a57af94c..a9ea2f4986 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c @@ -302,6 +302,9 @@ lp_build_blend_aos(LLVMBuilderRef builder, LLVMValueRef src_term; LLVMValueRef dst_term; + if(!blend->blend_enable) + return src; + /* It makes no sense to blend unless values are normalized */ assert(type.norm); diff --git a/src/gallium/drivers/llvmpipe/lp_bld_blend_soa.c b/src/gallium/drivers/llvmpipe/lp_bld_blend_soa.c index 1ef1718cfd..44c5a516e4 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_blend_soa.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_blend_soa.c @@ -167,6 +167,15 @@ lp_build_blend_soa(LLVMBuilderRef builder, struct lp_build_blend_soa_context bld; unsigned i, j; + if(!blend->blend_enable) { + for (i = 0; i < 4; ++i) + res[i] = src[i]; + return; + } + + /* It makes no sense to blend unless values are normalized */ + assert(type.norm); + /* Setup build context */ memset(&bld, 0, sizeof bld); lp_build_context_init(&bld.base, builder, type); diff --git a/src/gallium/drivers/llvmpipe/lp_test_blend.c b/src/gallium/drivers/llvmpipe/lp_test_blend.c index 8bf5508bd4..5a09df5306 100644 --- a/src/gallium/drivers/llvmpipe/lp_test_blend.c +++ b/src/gallium/drivers/llvmpipe/lp_test_blend.c @@ -766,7 +766,7 @@ blend_funcs[] = { const union lp_type blend_types[] = { /* float, fixed, sign, norm, width, len */ - {{ TRUE, FALSE, TRUE, TRUE, 32, 4 }}, /* f32 x 4 */ + {{ TRUE, FALSE, FALSE, TRUE, 32, 4 }}, /* f32 x 4 */ {{ FALSE, FALSE, FALSE, TRUE, 8, 16 }}, /* u8n x 16 */ }; -- cgit v1.2.3