summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/gallivm/lp_bld_format_yuv.c
AgeCommit message (Collapse)Author
2010-09-25gallivm: optimize yuv decodingRoland Scheidegger
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.
2010-07-03gallivm: Remove unnecessary headers.Vinson Lee
2010-07-02gallivm: Support multiple pixels in lp_build_fetch_rgba_aos().José Fonseca
This allows to do the unpacking of formats that fit in 4 x unorm8 in parallel, 4 pixels at a time.
2010-07-02gallivm: Move gather functions to its own module.José Fonseca
They need to grow, and they provide basic functionality which is not specific to sampling.
2010-07-02gallivm: Code generate YUV format unpacking.José Fonseca