softpipe: count CS invocations for pipeline stats queries.

Part of fixing KHR-GL33.pipeline_statistics_query_tests_ARB.
  functional_compute_shader_invocations

(also requires a test bugfix:
https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2694).

Fixes: e749c30ceb ("softpipe: add support for compute shaders. (v2)")
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8065>
This commit is contained in:
Eric Anholt 2020-12-11 12:39:22 -08:00 committed by Marge Bot
parent eb7e20b378
commit 5dd5fb1926
2 changed files with 7 additions and 0 deletions

View file

@ -227,6 +227,11 @@ softpipe_launch_grid(struct pipe_context *context,
}
}
if (softpipe->active_statistics_queries) {
softpipe->pipeline_statistics.cs_invocations +=
grid_size[0] * grid_size[1] * grid_size[2];
}
for (i = 0; i < num_threads_in_group; i++) {
cs_delete(cs, machines[i]);
tgsi_exec_machine_destroy(machines[i]);

View file

@ -201,6 +201,8 @@ softpipe_end_query(struct pipe_context *pipe, struct pipe_query *q)
softpipe->pipeline_statistics.c_primitives - sq->stats.c_primitives;
sq->stats.ps_invocations =
softpipe->pipeline_statistics.ps_invocations - sq->stats.ps_invocations;
sq->stats.cs_invocations =
softpipe->pipeline_statistics.cs_invocations - sq->stats.cs_invocations;
softpipe->active_statistics_queries--;
break;