History log of /external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a2a1a5805fd617e7f3cc8be44dd79b50da07ebb9 21-Jul-2015 Ilia Mirkin <imirkin@alum.mit.edu> gallium: replace INLINE with inline

Generated by running:
git grep -l INLINE src/gallium/ | xargs sed -i 's/\bINLINE\b/inline/g'
git grep -l INLINE src/mesa/state_tracker/ | xargs sed -i 's/\bINLINE\b/inline/g'
git checkout src/gallium/state_trackers/clover/Doxyfile

and manual edits to
src/gallium/include/pipe/p_compiler.h
src/gallium/README.portability

to remove mentions of the inline define.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Acked-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
72c6d0e506ad0e8262dddbc7a7cf2d6813761753 18-Dec-2013 Si Chen <sichen@vmware.com> llvmpipe: Implement alpha_to_coverage for non-MSAA framebuffers.

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 <jfonseca@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
6166ffeaf70e96e3f94417f8db79ba2440462178 21-Apr-2013 José Fonseca <jfonseca@vmware.com> gallivm: Eliminate 8.8 fixed point intermediates from AoS sampling path.

This change was meant as a stepping stone to use PMADDUBSW SSSE3
instruction, but actually this refactoring by itself yields a 10%
speedup on texture intensive shaders (e.g, Google Earth's ocean water
w/o S3TC on a Ivy Bridge machine), while giving yielding exactly the
same results, whereas PMADDUBSW only gave an extra 5%, at the expense of
2bits of precision in the interpolation.

I belive that the speedup of this change comes from the reduced register
pressure (as 8.8 fixed point intermediates take twice the space of 8bit
unorm).

Also, not dealing with 8.8 simplifies lp_bld_sample_aos.c code
substantially -- it's no longer necessary to have code duplicated for
low and high register halfs.

Note about lp_build_sample_mipmap(): the path for num_quads > 1 is never
executed (as it is faster on AVX to split the 256bit wide texture
computation into two 128bit chunks, in order to leverage integer
opcodes). This path might be useful in the future, so in order to
verify this change did not break that path I had to apply this change:

@@ -1662,11 +1662,11 @@ lp_build_sample_soa(struct gallivm_state *gallivm,
/*
* we only try 8-wide sampling with soa as it appears to
* be a loss with aos with AVX (but it should work).
* (It should be faster if we'd support avx2)
*/
- if (num_quads == 1 || !use_aos) {
+ if (/* num_quads == 1 || ! */ use_aos) {

if (num_quads > 1) {
if (mip_filter == PIPE_TEX_MIPFILTER_NONE) {
LLVMValueRef index0 = lp_build_const_int32(gallivm, 0);
/*

and then run texfilt mesademo:

LP_NATIVE_VECTOR_WIDTH=256 ./texfilt

Ran whole piglit without regressions.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
e253175c9c8034bfc13ecc3e16ab72007bde744a 17-Jul-2012 James Benton <jbenton@vmware.com> llvmpipe: Fix bug with blend factor in complementary optimisations.

Fixes fdo 52168.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
8684ffc141ed024ab1d42fcba31d8517288fac40 03-Jul-2012 James Benton <jbenton@vmware.com> llvmpipe: Unified common code between AoS and SoA blending.

Added a new file lp_bld_blend.c for the common code.
Merged and added some simple optimisations.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
2529ed5616b1b152766a3355444260b88184cd6e 09-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: SoA blending.

Throughput seems to be 4x higher.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
9493260fdcef4a8238b9d9a9dc3e753dd89810fe 08-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Centralize lp_build_context initialization.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
1dd7bb17c7331f9ecd0bc830b61ada235a56fe6d 04-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Optimize blend swizzles by using bitmasks instead of shuffles for ubytes.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
64611e086dbefa2003773ab541c0381b5713e18d 03-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Separate constant building.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
c87fab0008453567b45dd5e5eb7dd5d026990071 03-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Move type support functions into a separate file.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
5778970f15af253ce9d279516287602f28153548 03-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Minor comments / debug mnemonics.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
9e922444403d704f9ed0cf50e510fba53c736b57 03-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Improve generated 8bit blending code.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
a6622e6c544d3530a463d6a274a15bfae58f7ccc 02-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Specialize arithmetic operations.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
272dadbe4ebeaeb4f942c0f3c2fd140285b0457c 02-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Introduce a custom typing system.

Straightforward representation of floating-point/fixed-point/integer,
normalized/scaled, signed/unsigned SIMD vector types.
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c
7d043162c5d9150947d9341cfa22192bd4c70fde 01-Aug-2009 José Fonseca <jfonseca@vmware.com> llvmpipe: Blending.

The code
/external/mesa3d/src/gallium/drivers/llvmpipe/lp_bld_blend.c