gallivm: use llvm jit code for decoding s3tc
authorRoland Scheidegger <sroland@vmware.com>
Wed, 19 Dec 2018 03:37:36 +0000 (04:37 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Thu, 20 Dec 2018 05:03:20 +0000 (06:03 +0100)
commit6f4083143bb8c478ccfcaef034d183d89b471993
tree44b1564e8ca51fb035dae18e91589b27e3730c2a
parentec1d5841fa28939b9f9c69b42a99d22f56641154
gallivm: use llvm jit code for decoding s3tc

This is (much) faster than using the util fallback.
(Note that there's two methods here, one would use a cache, similar to
the existing code (although the cache was disabled), except the block
decode is done with jit code, the other directly decodes the required
pixels. For now don't use the cache (being direct-mapped is suboptimal,
but it's difficult to come up with something better which doesn't have
too much overhead.)

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/auxiliary/Makefile.sources
src/gallium/auxiliary/gallivm/lp_bld_format.h
src/gallium/auxiliary/gallivm/lp_bld_format_aos.c
src/gallium/auxiliary/gallivm/lp_bld_format_cached.c [deleted file]
src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c [new file with mode: 0644]
src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
src/gallium/auxiliary/meson.build