[Mesa-dev] [PATCH 1/3] llvmpipe: count c_primitives before discarding null prims
Zack Rusin
zackr at vmware.com
Thu Sep 19 11:43:35 PDT 2013
We need to count the clipper primitives before the rasterizer
discards one it considers to be null.
Signed-off-by: Zack Rusin <zackr at vmware.com>
---
src/gallium/drivers/llvmpipe/lp_setup_tri.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/gallium/drivers/llvmpipe/lp_setup_tri.c b/src/gallium/drivers/llvmpipe/lp_setup_tri.c
index 23bc6e2..e61efd4 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup_tri.c
+++ b/src/gallium/drivers/llvmpipe/lp_setup_tri.c
@@ -252,7 +252,6 @@ do_triangle_ccw(struct lp_setup_context *setup,
const float (*v2)[4],
boolean frontfacing )
{
- struct llvmpipe_context *lp_context = (struct llvmpipe_context *)setup->pipe;
struct lp_scene *scene = setup->scene;
const struct lp_setup_variant_key *key = &setup->setup.variant->key;
struct lp_rast_triangle *tri;
@@ -340,11 +339,6 @@ do_triangle_ccw(struct lp_setup_context *setup,
LP_COUNT(nr_tris);
- if (lp_context->active_statistics_queries &&
- !llvmpipe_rasterization_disabled(lp_context)) {
- lp_context->pipeline_statistics.c_primitives++;
- }
-
/* Setup parameter interpolants:
*/
setup->setup.variant->jit_function( v0,
@@ -803,7 +797,6 @@ static void retry_triangle_ccw( struct lp_setup_context *setup,
}
}
-
/**
* Calculate fixed position data for a triangle
*/
@@ -1102,11 +1095,17 @@ static void triangle_both( struct lp_setup_context *setup,
const float (*v2)[4] )
{
struct fixed_position position;
+ struct llvmpipe_context *lp_context = (struct llvmpipe_context *)setup->pipe;
if (setup->subdivide_large_triangles &&
check_subdivide_triangle(setup, v0, v1, v2, triangle_both))
return;
+ if (lp_context->active_statistics_queries &&
+ !llvmpipe_rasterization_disabled(lp_context)) {
+ lp_context->pipeline_statistics.c_primitives++;
+ }
+
calc_fixed_position(setup, &position, v0, v1, v2);
if (0) {
--
1.8.3.2
More information about the mesa-dev
mailing list