From: Dave Airlie Date: Fri, 20 Mar 2020 09:30:06 +0000 (+1000) Subject: llvmpipe: add multisample alpha to one support X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=69009949e0418d0b1907fd31f486058642c90c92;p=mesa.git llvmpipe: add multisample alpha to one support Reviewed-by: Roland Scheidegger Part-of: --- diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index 15ec9048052..cf0a68ecc8d 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -690,7 +690,16 @@ generate_fs_loop(struct gallivm_state *gallivm, } } } - + if (key->blend.alpha_to_one && key->multisample) { + for (attrib = 0; attrib < shader->info.base.num_outputs; ++attrib) { + unsigned cbuf = shader->info.base.output_semantic_index[attrib]; + if ((shader->info.base.output_semantic_name[attrib] == TGSI_SEMANTIC_COLOR) && + ((cbuf < key->nr_cbufs) || (cbuf == 1 && dual_source_blend))) + if (outputs[cbuf][3]) { + LLVMBuildStore(builder, lp_build_const_vec(gallivm, type, 1.0), outputs[cbuf][3]); + } + } + } if (shader->info.base.writes_samplemask) { int smaski = find_output_by_semantic(&shader->info.base, TGSI_SEMANTIC_SAMPLEMASK,