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