Now that the draw module avoids flushing, it may flush precisely when binding a NULL shader, so care must be taken when restoring the original fragment shader. Reviewed-by: Brian Paul <brianp@vmware.com>tags/i965-primitive-restart-v2
@@ -738,7 +738,7 @@ aaline_flush(struct draw_stage *stage, unsigned flags) | |||
/* restore original frag shader, texture, sampler state */ | |||
draw->suspend_flushing = TRUE; | |||
aaline->driver_bind_fs_state(pipe, aaline->fs->driver_fs); | |||
aaline->driver_bind_fs_state(pipe, aaline->fs ? aaline->fs->driver_fs : NULL); | |||
aaline->driver_bind_sampler_states(pipe, aaline->num_samplers, | |||
aaline->state.sampler); | |||
aaline->driver_set_sampler_views(pipe, |
@@ -744,7 +744,7 @@ aapoint_flush(struct draw_stage *stage, unsigned flags) | |||
/* restore original frag shader */ | |||
draw->suspend_flushing = TRUE; | |||
aapoint->driver_bind_fs_state(pipe, aapoint->fs->driver_fs); | |||
aapoint->driver_bind_fs_state(pipe, aapoint->fs ? aapoint->fs->driver_fs : NULL); | |||
/* restore original rasterizer state */ | |||
if (draw->rast_handle) { |
@@ -565,7 +565,7 @@ pstip_flush(struct draw_stage *stage, unsigned flags) | |||
/* restore original frag shader, texture, sampler state */ | |||
draw->suspend_flushing = TRUE; | |||
pstip->driver_bind_fs_state(pipe, pstip->fs->driver_fs); | |||
pstip->driver_bind_fs_state(pipe, pstip->fs ? pstip->fs->driver_fs : NULL); | |||
pstip->driver_bind_sampler_states(pipe, pstip->num_samplers, | |||
pstip->state.samplers); | |||
pstip->driver_set_sampler_views(pipe, |