diff options
author | Jakob Bornecrantz <jakob@tungstengraphics.com> | 2008-06-17 15:47:01 +0200 |
---|---|---|
committer | Jakob Bornecrantz <jakob@tungstengraphics.com> | 2008-06-17 15:47:01 +0200 |
commit | d9d1e39d95fef4a8da15147956ff0c3e0a188b5b (patch) | |
tree | fec846d8133b80e6d6abdb8e8b4918fc2eda5fc4 /src/gallium/drivers/i915simple/i915_state.c | |
parent | 7db9034b0407aace6336091e2b07913661bfba04 (diff) |
i915: Max and Min lod now works
Diffstat (limited to 'src/gallium/drivers/i915simple/i915_state.c')
-rw-r--r-- | src/gallium/drivers/i915simple/i915_state.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gallium/drivers/i915simple/i915_state.c b/src/gallium/drivers/i915simple/i915_state.c index 39d5d5e9d6..dbb33f2695 100644 --- a/src/gallium/drivers/i915simple/i915_state.c +++ b/src/gallium/drivers/i915simple/i915_state.c @@ -251,11 +251,17 @@ i915_create_sampler_state(struct pipe_context *pipe, if (sampler->normalized_coords) cso->state[1] |= SS3_NORMALIZED_COORDS; - if (0) /* XXX not tested yet */ { int minlod = (int) (16.0 * sampler->min_lod); + int maxlod = (int) (16.0 * sampler->max_lod); minlod = CLAMP(minlod, 0, 16 * 11); - cso->state[1] |= (minlod << SS3_MIN_LOD_SHIFT); + maxlod = CLAMP(maxlod, 0, 16 * 11); + + if (minlod > maxlod) + maxlod = minlod; + + cso->minlod = minlod; + cso->maxlod = maxlod; } { |