aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe/lp_bld_blend.h
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: Implement alpha_to_coverage for non-MSAA framebuffers.Si Chen2014-01-071-0/+7
| | | | | | | | Implement Alpha to Coverage by discarding a fragment alpha component is less than 0.5. This is a joint work of Jose and Si. Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* llvmpipe: implement dual source blendingRoland Scheidegger2013-02-121-0/+1
| | | | | | | | | | | | | link up the fs outputs and blend inputs, and make sure the second blend source is correctly loaded and converted (which is quite complex). There's a slight refactoring of the monster generate_unswizzled_blend() function where it makes sense to factor out alpha conversion (which needs to run twice for dual source blend). This passes piglit arb_blend_func_extended tests. v2: remove new but ultimately not used function... Reviewed-by: Brian Paul <[email protected]>
* llvmpipe: first steps of adding dual source blend supportRoland Scheidegger2013-02-081-0/+1
| | | | | | | | | | | This adds support of the additional blending factors to the blend function itself, and also enables testing of it in lp_test_blend (which passes). Still need to add the glue code of linking fs shader outputs to blend inputs in llvmpipe, and probably need to add special handling if destination doesn't include alpha (which lp_test_blend doesn't test). Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* llvmpipe: remove extraneous const qualifierBrian Paul2013-02-061-1/+1
|
* llvmpipe: fix using wrong format with MRT in blend codeRoland Scheidegger2013-01-181-1/+1
| | | | | | | | | | | | | We were passing in the rt index however this was always 0 for non-independent blend case. (The format was only actually used to decide if the color mask covered all channels so this went unnoticed and was discovered by accident.) Additionally, there was a second problem because we do fixups in the key based on color buffer format we cannot use non-independent blend anyway as the fixed up values would never get used. So always turn non-independent blending into independent. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* llvmpipe: Remove lp_build_blend_soa()José Fonseca2012-11-291-11/+0
| | | | | | No longer used/necessary, as we always blend in AoS now. Trivial.
* llvmpipe: Unswizzled rendering.James Benton2012-11-281-1/+4
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* llvmpipe: Unified common code between AoS and SoA blending.James Benton2012-07-161-18/+26
| | | | | | | Added a new file lp_bld_blend.c for the common code. Merged and added some simple optimisations. Reviewed-by: Jose Fonseca <[email protected]>
* llvmpipe: add masking support to aos blendJames Benton2012-05-021-0/+1
| | | | Signed-off-by: José Fonseca <[email protected]>
* llvmpipe: Added support for color masks in AoS blending.James Benton2012-05-021-1/+2
| | | | Signed-off-by: José Fonseca <[email protected]>
* gallivm/llvmpipe: squash merge of the llvm-context branchBrian Paul2010-11-301-2/+3
| | | | | | | | | | | | | | This branch defines a gallivm_state structure which contains the LLVMBuilderRef, LLVMContextRef, etc. All data structures built with this object can be periodically freed during a "garbage collection" operation. The gallivm_state object has to be passed to most of the builder functions where LLVMBuilderRef used to be used. Conflicts: src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c src/gallium/drivers/llvmpipe/lp_state_setup.c
* llvmpipe: fix up indexing of blend/colormask state for render targetsBrian Paul2010-05-101-0/+2
|
* gallivm/llvmpipe: move an old comment to a better locationBrian Paul2010-05-101-11/+0
|
* gallivm/llvmpipe: move lp_bld_blend* files to llvmpipe/ directoryBrian Paul2010-04-161-0/+107
|
* llvmpipe: export the tgsi translation code to a common layerZack Rusin2010-02-081-107/+0
| | | | | | | the llvmpipe tgsi translation is a lot more complete than what was in gallivm so replacing the latter with the former. this is needed since the draw llvm paths will use the same code. effectively the proven llvmpipe code becomes gallivm.
* llvmpipe: Make lp_type a regular union.José Fonseca2009-09-141-3/+3
| | | | | Union not worth the hassle of violating C99 or adding a name to the structure.
* llvmpipe: Code generate logic ops.José Fonseca2009-08-291-0/+13
|
* llvmpipe: SoA blending.José Fonseca2009-08-291-0/+94
Throughput seems to be 4x higher.