softpipe: fix using optimized filter function
authorRoland Scheidegger <sroland@vmware.com>
Wed, 6 Feb 2013 17:29:55 +0000 (09:29 -0800)
committerAndreas Boll <andreas.boll.dev@gmail.com>
Wed, 13 Feb 2013 20:48:37 +0000 (21:48 +0100)
This optimized filter (when using repeat wrap modes,
linear min/mag/mip filters, pot textures) only applies to 2d textures,
but nothing prevented it from being used for other textures (likely
leading to very bogus sample results).

Note: This is a candidate for the 9.0 branch.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
(cherry picked from commit 66b6d5121475ecdd6b76ff660e28dfa6cc3f727c)

src/gallium/drivers/softpipe/sp_tex_sample.c

index 0aeb8e2..f679230 100644 (file)
@@ -2680,6 +2680,7 @@ sp_create_sampler_variant( const struct pipe_sampler_state *sampler,
 
    case PIPE_TEX_MIPFILTER_LINEAR:
       if (key.bits.is_pot &&
+          key.bits.target == PIPE_TEXTURE_2D &&
           sampler->min_img_filter == sampler->mag_img_filter &&
           sampler->normalized_coords &&
           sampler->wrap_s == PIPE_TEX_WRAP_REPEAT &&