LP_COUNT(nr_tris);
- if (lp_context->active_statistics_queries &&
- !llvmpipe_rasterization_disabled(lp_context)) {
+ if (lp_context->active_statistics_queries) {
lp_context->pipeline_statistics.c_primitives++;
}
plane[3].eo = 0;
}
- return lp_setup_bin_triangle(setup, point, &bbox, nr_planes, viewport_index);
+ return lp_setup_bin_triangle(setup, point, &bbox, &bbox, nr_planes, viewport_index);
}
static void
+lp_setup_point_discard(struct lp_setup_context *setup,
+ const float (*v0)[4])
+{
+}
+
+static void
lp_setup_point(struct lp_setup_context *setup,
const float (*v0)[4])
{
- if (!try_setup_point( setup, v0 ))
- {
+ if (!try_setup_point(setup, v0)) {
if (!lp_setup_flush_and_restart(setup))
return;
- if (!try_setup_point( setup, v0 ))
+ if (!try_setup_point(setup, v0))
return;
}
}
void
-lp_setup_choose_point( struct lp_setup_context *setup )
+lp_setup_choose_point(struct lp_setup_context *setup)
{
- setup->point = lp_setup_point;
+ if (setup->rasterizer_discard) {
+ setup->point = lp_setup_point_discard;
+ } else {
+ setup->point = lp_setup_point;
+ }
}