if (i915->dirty & (I915_NEW_SETUP | I915_NEW_FS))
calculate_vertex_layout( i915 );
- if (i915->dirty & I915_NEW_SAMPLER)
+ if (i915->dirty & (I915_NEW_SAMPLER | I915_NEW_TEXTURE))
i915_update_samplers(i915);
if (i915->dirty & I915_NEW_TEXTURE)
uint unit,
const struct pipe_sampler_state *sampler,
const struct pipe_mipmap_tree *mt,
- const struct pipe_surface *surface,
unsigned state[3] )
{
const unsigned ws = sampler->wrap_s;
state[0] |= ((b << SS2_LOD_BIAS_SHIFT) & SS2_LOD_BIAS_MASK);
}
- if (surface->format == PIPE_FORMAT_YCBCR ||
- surface->format == PIPE_FORMAT_YCBCR_REV)
+ if (mt->format == PIPE_FORMAT_YCBCR ||
+ mt->format == PIPE_FORMAT_YCBCR_REV)
state[0] |= SS2_COLORSPACE_CONVERSION;
void i915_update_samplers( struct i915_context *i915 )
{
- const struct pipe_surface *surface = i915->framebuffer.cbufs[0];
uint unit;
i915->current.sampler_enable_nr = 0;
unit,
i915->sampler + unit, /* sampler state */
i915->texture[unit], /* mipmap tree */
- surface, /* cbuffer info */
i915->current.sampler[unit] /* the result */
);