softpipe: rework texture sampling code
authorKeith Whitwell <keithw@vmware.com>
Fri, 21 Aug 2009 16:13:11 +0000 (17:13 +0100)
committerKeith Whitwell <keithw@vmware.com>
Fri, 21 Aug 2009 17:14:19 +0000 (18:14 +0100)
commit4fc7d0345a18042a79686940fb7cc4e698cc9192
treeb039e7d5e5e673a8677926050df0648c17bfd0fc
parentb1cc196e6d18494348c2974aad5d85d1b8281ce0
softpipe: rework texture sampling code

Split into component pieces, stitch together at runtime using function
pointers.  Make it possible to utilize the existing fastpaths as image-level
filters for generic mip-filtering routines.

Remove special case for rectangle filtering, as it can now be handled by
the 2d path.

As most of the mesa demo texturing was already covered by fast paths, its
harder to find examples of speedups, but tunnel gets a boost as mip-nearest
filtering is now able to access the img_2d_linear_wrap_POT functions
for sampling within a mipmap level.
src/gallium/drivers/softpipe/sp_context.c
src/gallium/drivers/softpipe/sp_context.h
src/gallium/drivers/softpipe/sp_state.h
src/gallium/drivers/softpipe/sp_state_blend.c
src/gallium/drivers/softpipe/sp_state_derived.c
src/gallium/drivers/softpipe/sp_state_fs.c
src/gallium/drivers/softpipe/sp_state_sampler.c
src/gallium/drivers/softpipe/sp_tex_sample.c
src/gallium/drivers/softpipe/sp_tex_sample.h
src/gallium/drivers/softpipe/sp_texture.c
src/gallium/drivers/softpipe/sp_texture.h