diff options
author | Roland Scheidegger <[email protected]> | 2015-08-09 02:50:10 +0200 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2015-08-26 02:57:38 +0200 |
commit | 48e6404c04da6c9655d7a8b625830d0d40f393ae (patch) | |
tree | d8924b77e5b3e15fb6efda8fca508d2e5ad29cf1 /src/gallium/auxiliary/util/u_mm.c | |
parent | 941346a80323c9419b70e3987b900a69ebb08fb4 (diff) |
gallium/auxiliary: optimize rgb9e5 helper some more
I used this as some testing ground for investigating some compiler
bits initially (e.g. lrint calls etc.), figured I could do much better
in the end just for fun...
This is mathematically equivalent, but uses some tricks to avoid
doubles and also replaces some float math with ints. Good for another
performance doubling or so. As a side note, some quick tests show that
llvm's loop vectorizer would be able to properly vectorize this version
(which it failed to do earlier due to doubles, producing a mess), giving
another 3 times performance increase with sse2 (more with sse4.1), but this
may not apply to mesa.
No piglit change.
Acked-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/util/u_mm.c')
0 files changed, 0 insertions, 0 deletions