Mesa (master): gallivm, llvmpipe: handle TXF (texelFetch) instruction, including offsets
Roland Scheidegger
sroland at kemper.freedesktop.org
Tue Nov 27 02:31:50 UTC 2012
Module: Mesa
Branch: master
Commit: 0b6554ba6f2aa8a771852566340c24205e406d02
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b6554ba6f2aa8a771852566340c24205e406d02
Author: Roland Scheidegger <sroland at vmware.com>
Date: Tue Nov 27 03:26:49 2012 +0100
gallivm,llvmpipe: handle TXF (texelFetch) instruction, including offsets
This also adds some code to handle per-quad lods for more than 4-wide fetches,
because otherwise I'd have to integrate the texelFetch function into
the splitting stuff... (but it is not used yet outside texelFetch).
passes piglit fs-texelFetch-2D, fails fs-texelFetchOffset-2D due to I believe
a test error (results are undefined for out-of-bounds fetches, we return
whatever is at offset 0, whereas the test expects [0,0,0,1]).
Texel offsets are only handled by texelFetch for now, though the interface
can handle it for everything.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
---
src/gallium/auxiliary/draw/draw_llvm_sample.c | 9 +-
src/gallium/auxiliary/gallivm/lp_bld_sample.c | 268 ++++++++++++++++++---
src/gallium/auxiliary/gallivm/lp_bld_sample.h | 25 ++-
src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c | 8 +-
src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c | 167 ++++++++++++-
src/gallium/auxiliary/gallivm/lp_bld_swizzle.c | 9 +-
src/gallium/auxiliary/gallivm/lp_bld_swizzle.h | 3 +-
src/gallium/auxiliary/gallivm/lp_bld_tgsi.c | 60 +++++
src/gallium/auxiliary/gallivm/lp_bld_tgsi.h | 11 +-
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c | 115 +++++++++-
src/gallium/auxiliary/tgsi/tgsi_info.c | 1 +
src/gallium/drivers/llvmpipe/lp_screen.c | 4 +-
src/gallium/drivers/llvmpipe/lp_tex_sample.c | 9 +-
13 files changed, 618 insertions(+), 71 deletions(-)
Diff: http://cgit.freedesktop.org/mesa/mesa/diff/?id=0b6554ba6f2aa8a771852566340c24205e406d02
More information about the mesa-commit
mailing list