i965: perf: consolidate unmapping oa perf bo outside accumulation
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Wed, 7 Mar 2018 14:10:15 +0000 (14:10 +0000)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Thu, 8 Mar 2018 23:05:29 +0000 (23:05 +0000)
Do this in one place outside the only caller of the accumulation
function.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_performance_query.c

index 71ea267..13eff31 100644 (file)
@@ -1014,8 +1014,6 @@ end:
 
    DBG("Marking %d accumulated - results gathered\n", o->Id);
 
-   brw_bo_unmap(obj->oa.bo);
-   obj->oa.map = NULL;
    obj->oa.results_accumulated = true;
    drop_from_unaccumulated_query_list(brw, obj);
    dec_n_oa_users(brw);
@@ -1024,8 +1022,6 @@ end:
 
 error:
 
-   brw_bo_unmap(obj->oa.bo);
-   obj->oa.map = NULL;
    discard_all_queries(brw);
 }
 
@@ -1470,6 +1466,9 @@ get_oa_counter_data(struct brw_context *brw,
    if (!obj->oa.results_accumulated) {
       accumulate_oa_reports(brw, obj);
       assert(obj->oa.results_accumulated);
+
+      brw_bo_unmap(obj->oa.bo);
+      obj->oa.map = NULL;
    }
 
    for (int i = 0; i < n_counters; i++) {