Hi, the main point of this patch series is to introduce batch query objects.
For AMD_performance_monitor, hardware may not be able to start and stop performance counters independently of each other. The current query interface does not fit such hardware well. With this series, drivers can mark driver-specific queries with the PIPE_DRIVER_QUERY_FLAG_BATCH flag, which indicates that those queries require the use of batch query objects. Batch query objects are created with an immutable list of queries, which requires a new entry point in pipe_context, but apart from that they use the same begin_query/end_query/etc. entry points. The radeon-specific part that actually makes use of this feature is not quite ready yet, but I already wanted to get this part out there for feedback. Please review! Thanks, Nicolai --- gallium/auxiliary/hud/hud_context.c | 24 ++ gallium/auxiliary/hud/hud_driver_query.c | 249 +++++++++++++++++++++++++----- gallium/auxiliary/hud/hud_private.h | 13 + gallium/drivers/nouveau/nvc0/nvc0_query.c | 4 gallium/include/pipe/p_context.h | 3 gallium/include/pipe/p_defines.h | 36 ++-- mesa/state_tracker/st_cb_perfmon.c | 247 ++++++++++++++++------------- mesa/state_tracker/st_cb_perfmon.h | 32 +++ mesa/state_tracker/st_context.h | 3 9 files changed, 437 insertions(+), 174 deletions(-) _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev