freedreno: Don't count SW TF queries on a6xx.
On a6xx, since we have GS and tess, we do this counting in hardware. The next fix is going to use some functions that don't work with GS prims. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687>
This commit is contained in:
@@ -230,6 +230,9 @@ update_draw_stats(struct fd_context *ctx, const struct pipe_draw_info *info,
|
||||
const struct pipe_draw_start_count *draws, unsigned num_draws)
|
||||
assert_dt
|
||||
{
|
||||
ctx->stats.draw_calls++;
|
||||
|
||||
if (ctx->screen->gpu_id < 600) {
|
||||
/* Counting prims in sw doesn't work for GS and tesselation. For older
|
||||
* gens we don't have those stages and don't have the hw counters enabled,
|
||||
* so keep the count accurate for non-patch geometry.
|
||||
@@ -242,8 +245,6 @@ update_draw_stats(struct fd_context *ctx, const struct pipe_draw_info *info,
|
||||
}
|
||||
}
|
||||
|
||||
ctx->stats.draw_calls++;
|
||||
|
||||
/* TODO prims_emitted should be clipped when the stream-out buffer is
|
||||
* not large enough. See max_tf_vtx().. probably need to move that
|
||||
* into common code. Although a bit more annoying since a2xx doesn't
|
||||
@@ -256,6 +257,7 @@ update_draw_stats(struct fd_context *ctx, const struct pipe_draw_info *info,
|
||||
}
|
||||
ctx->stats.prims_generated += prims;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info,
|
||||
|
Reference in New Issue
Block a user