if (i915->blend == blend)
return;
- draw_flush(i915->draw);
-
i915->blend = (struct i915_blend_state*)blend;
i915->dirty |= I915_NEW_BLEND;
if (!blend_color)
return;
- draw_flush(i915->draw);
-
i915->blend_color = *blend_color;
i915->dirty |= I915_NEW_BLEND;
{
struct i915_context *i915 = i915_context(pipe);
- draw_flush(i915->draw);
-
i915->stencil_ref = *stencil_ref;
i915->dirty |= I915_NEW_DEPTH_STENCIL;
!memcmp(i915->vertex_samplers, samplers, num_samplers * sizeof(void *)))
return;
- draw_flush(i915->draw);
-
for (i = 0; i < num_samplers; ++i)
i915->vertex_samplers[i] = samplers[i];
for (i = num_samplers; i < PIPE_MAX_VERTEX_SAMPLERS; ++i)
!memcmp(i915->sampler, sampler, num * sizeof(void *)))
return;
- draw_flush(i915->draw);
-
for (i = 0; i < num; ++i)
i915->sampler[i] = sampler[i];
for (i = num; i < PIPE_MAX_SAMPLERS; ++i)
if (i915->depth_stencil == depth_stencil)
return;
- draw_flush(i915->draw);
-
i915->depth_stencil = (const struct i915_depth_stencil_state *)depth_stencil;
i915->dirty |= I915_NEW_DEPTH_STENCIL;
{
struct i915_context *i915 = i915_context(pipe);
- draw_flush(i915->draw);
-
memcpy( &i915->scissor, scissor, sizeof(*scissor) );
i915->dirty |= I915_NEW_SCISSOR;
}
static void i915_set_polygon_stipple( struct pipe_context *pipe,
const struct pipe_poly_stipple *stipple )
{
- struct i915_context *i915 = i915_context(pipe);
-
- draw_flush(i915->draw);
}
if (i915->saved_fs == shader)
return;
- draw_flush(i915->draw);
-
i915->saved_fs = shader;
i915->saved_bind_fs_state(pipe, shader);
if (i915->fs == shader)
return;
- draw_flush(i915->draw);
-
i915->fs = (struct i915_fragment_shader*) shader;
draw_bind_fragment_shader(i915->draw, (i915->fs ? i915->fs->draw_data : NULL));
diff = i915->current.num_user_constants[shader] != 0;
}
- /*
- * flush before updateing the state.
- */
- if (diff && shader == PIPE_SHADER_FRAGMENT)
- draw_flush(i915->draw);
-
pipe_resource_reference(&i915->constants[shader], buf);
i915->current.num_user_constants[shader] = new_num;
!memcmp(i915->fragment_sampler_views, views, num * sizeof(struct pipe_sampler_view *)))
return;
- /* Fixes wrong texture in texobj with VBUF */
- draw_flush(i915->draw);
-
for (i = 0; i < num; i++)
pipe_sampler_view_reference(&i915->fragment_sampler_views[i],
views[i]);
return;
}
- draw_flush(i915->draw);
-
for (i = 0; i < PIPE_MAX_VERTEX_SAMPLERS; i++) {
struct pipe_sampler_view *view = i < num ? views[i] : NULL;
struct i915_context *i915 = i915_context(pipe);
int i;
- draw_flush(i915->draw);
-
i915->framebuffer.width = fb->width;
i915->framebuffer.height = fb->height;
i915->framebuffer.nr_cbufs = fb->nr_cbufs;
{
struct i915_context *i915 = i915_context(pipe);
- draw_flush(i915->draw);
-
i915->saved_clip = *clip;
draw_set_clip_state(i915->draw, clip);