diff options
author | Roland Scheidegger <[email protected]> | 2010-09-24 15:17:07 +0200 |
---|---|---|
committer | José Fonseca <[email protected]> | 2010-09-25 12:19:31 +0100 |
commit | 049a8cce76b1148ab00de1ae207171e519bfafca (patch) | |
tree | 2dc7640c23c22be517ee1e2d60714733ade41bc5 /src/gallium/auxiliary/draw/draw_llvm.c | |
parent | 46d05d4ef99857e50d978247917f3e16574418f4 (diff) |
gallivm: optimize yuv decoding
this is more a proof to show vector shifts on x86 with per-element shift count
are evil. Since we can avoid the shift with a single compare/select, use that
instead. Replaces more than 20 instructions (and slow ones at that) with about 3,
and cuts compiled shader size with mesa's yuvsqure demo by over 10%
(no performance measurements done - but selection is blazing fast).
Might want to revisit that for future cpus - unfortunately AVX won't have vector
shifts neither, but AMD's XOP will, but even in that case using selection here
is probably not slower.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_llvm.c')
0 files changed, 0 insertions, 0 deletions