return TRUE;
/* AA lines */
- if (rasterizer->line_smooth && draw->pipeline.aaline)
+ if ((!rasterizer->multisample && rasterizer->line_smooth) && draw->pipeline.aaline)
return TRUE;
if (draw_current_shader_num_written_culldistances(draw))
return TRUE;
/* AA points */
- if (rasterizer->point_smooth && draw->pipeline.aapoint)
+ if ((!rasterizer->multisample && rasterizer->point_smooth) && draw->pipeline.aapoint)
return TRUE;
/* point sprites */
/* drawing wide, non-AA lines? */
wide_lines = rast->line_width != 1.0f &&
roundf(rast->line_width) > draw->pipeline.wide_line_threshold &&
- !rast->line_smooth;
+ (!rast->line_smooth || rast->multisample);
/* drawing large/sprite points (but not AA points)? */
if (rast->sprite_coord_enable && draw->pipeline.point_sprite)
wide_points = TRUE;
- else if (rast->point_smooth && draw->pipeline.aapoint)
+ else if ((!rast->multisample && rast->point_smooth) && draw->pipeline.aapoint)
wide_points = FALSE;
else if (rast->point_size > draw->pipeline.wide_point_threshold)
wide_points = TRUE;
* shorter pipelines for lines & points.
*/
- if (rast->line_smooth && draw->pipeline.aaline) {
+ if ((!rast->multisample && rast->line_smooth) && draw->pipeline.aaline) {
draw->pipeline.aaline->next = next;
next = draw->pipeline.aaline;
precalc_flat = TRUE;
}
- if (rast->point_smooth && draw->pipeline.aapoint) {
+ if ((!rast->multisample && rast->point_smooth) && draw->pipeline.aapoint) {
draw->pipeline.aapoint->next = next;
next = draw->pipeline.aapoint;
}