i965: Use brw_bo_map[_gtt]() in intel_miptree_map_raw().
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 29 Jan 2014 17:27:09 +0000 (09:27 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 4 Feb 2014 00:16:38 +0000 (16:16 -0800)
This moves the intel_batchbuffer_flush before the drm_intel_bo_busy
call, which is a change in behavior.  However, the old behavior was
broken.

In the future, we may want to only flush in the batchbuffer references
the BO being mapped.  That's certainly more typical.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Carl Worth <cworth@cworth.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/intel_mipmap_tree.c

index 5a606375198ec6b033220937993737402777735e..24985dc2b45f6b6cc8f697266ab3a21e533aec34 100644 (file)
@@ -1706,18 +1706,12 @@ intel_miptree_map_raw(struct brw_context *brw, struct intel_mipmap_tree *mt)
 
    drm_intel_bo *bo = mt->region->bo;
 
-   if (unlikely(INTEL_DEBUG & DEBUG_PERF)) {
-      if (drm_intel_bo_busy(bo)) {
-         perf_debug("Mapping a busy miptree, causing a stall on the GPU.\n");
-      }
-   }
-
    intel_batchbuffer_flush(brw);
 
    if (mt->region->tiling != I915_TILING_NONE)
-      drm_intel_gem_bo_map_gtt(bo);
+      brw_bo_map_gtt(brw, bo, "miptree");
    else
-      drm_intel_bo_map(bo, true);
+      brw_bo_map(brw, bo, true, "miptree");
 
    return bo->virtual;
 }