/* AA lines */
if (rasterizer->line_smooth && draw->pipeline.aaline)
return TRUE;
+
+ if (draw_current_shader_num_written_culldistances(draw))
+ return TRUE;
}
if (points(prim))
/* two-side lighting */
if (rasterizer->light_twoside)
return TRUE;
+
+ if (draw_current_shader_num_written_culldistances(draw))
+ return TRUE;
}
/* polygon cull - this is difficult - hardware can cull just fine
*
if (rasterizer->cull_mode)
return TRUE;
- */
+ */
return FALSE;
}
* to less work emitting vertices, smaller vertex buffers, etc.
* It's difficult to say whether this will be true in general.
*/
- if (need_det || rast->cull_face != PIPE_FACE_NONE) {
+ if (need_det || rast->cull_face != PIPE_FACE_NONE ||
+ draw_current_shader_num_written_culldistances(draw)) {
draw->pipeline.cull->next = next;
next = draw->pipeline.cull;
}