History log of /external/mesa3d/src/mesa/main/streaming-load-memcpy.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
36ea9922ada5ea99e54231697a4afb31d5f6b9bf 01-Oct-2015 Matt Turner <mattst88@gmail.com> mesa: Add missing _mm_mfence() before streaming loads.

According to the Intel Software Development Manual (Volume 1: Basic
Architecture, 12.10.3 Streaming Load Hint Instruction):

Streaming loads may be weakly ordered and may appear to software to
execute out of order with respect to other memory operations.
Software must explicitly use fences (e.g. MFENCE) if it needs to
preserve order among streaming loads or between streaming loads and
other memory operations.

That is, a memory fence is needed to preserve the order between the GPU
writing the buffer and the streaming loads reading it back.

Reported-by: Joseph Nuzman <joseph.nuzman@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
/external/mesa3d/src/mesa/main/streaming-load-memcpy.c
e07c9a288c8bf41ecf2dc15f5e26542d9219bb69 15-Nov-2014 Emil Velikov <emil.l.velikov@gmail.com> Revert "mesa: Wrap SSE4.1 code in #ifdef __SSE4_1__."

This reverts commit 8d3f739383fbdf671752fdec707f1c2b9b2aa6a3.

In the last commit we've updated our check to determine if the actual
code is buildable, rather than if the compiler acknowledges the option.
I.e. did anyone provide -mno-sse4.1 vs is my compiler too old.

Now this code will never be attemped to be build, in both cases.

Confirmed by building mesa with
export CFLAGS='-march=native -mno-sse4.1'
./configure && make

Tested-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Matt Turner <mattst88@gmail.com>
/external/mesa3d/src/mesa/main/streaming-load-memcpy.c
8d3f739383fbdf671752fdec707f1c2b9b2aa6a3 05-Mar-2014 Matt Turner <mattst88@gmail.com> mesa: Wrap SSE4.1 code in #ifdef __SSE4_1__.

Because people insist on doing things like explicitly disabling SSE 4.1.

Cc: "10.0 10.1" <mesa-stable@lists.freedesktop.org>
Tested-by: David Heidelberger <david.heidelberger@ixit.cz>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71547
/external/mesa3d/src/mesa/main/streaming-load-memcpy.c
6f2e81ce4cc4a03d22e2670191651bfa9bdb0d0c 04-Nov-2013 Matt Turner <mattst88@gmail.com> mesa: Add a streaming load memcpy implementation.

Uses SSE 4.1's MOVNTDQA instruction (streaming load) to read from
uncached memory without polluting the cache.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/mesa/main/streaming-load-memcpy.c