[Mesa-dev] [PATCH] r600g: fix check for empty cs
vadimgirlin at gmail.com
Thu Jun 30 08:51:06 PDT 2011
On Wed, 2011-06-29 at 16:29 +0400, Vadim Girlin wrote:
> There is ~20% fps boost with the etqw timenetdemo after this patch.
Btw, it seems that bad performance without that patch is caused by the
occlusion queries, so probably they need some fixes too. I've added some
counters to check it and found that there are thousands of redundant
calls to r600_context_flush per second (or ~97% of all flushes), which
are skipped with that patch. And there are no such flushes at all when I
set r_useOcclusionQueries to 0 in the etqw settings. Default for
r_useOcclusionQueries is 1 for me, but it seems the defaults may be
different for others.
There are probably not needed flushes for example in the
r600_get_query_result. It calls ctx->flush, then
r600_context_query_result, which also calls r600_context_flush. Then it
calls r600_query_result -> r600_bo_map -> one more possible flush. Are
all of these flush calls really needed?
More information about the mesa-dev