Replace usage of DRM_BO_FLAG_MEM_TT in intel_regions.c with local/cached.
authorEric Anholt <eric@anholt.net>
Tue, 5 Feb 2008 02:19:03 +0000 (18:19 -0800)
committerEric Anholt <eric@anholt.net>
Tue, 5 Feb 2008 02:24:16 +0000 (18:24 -0800)
In addition to potentially binding when it was about to be mapped anyway,
failure to use CACHED_MAPPED means eating a full wbinvd on validate.  Thanks to
airlied for catching this.

src/mesa/drivers/dri/intel/intel_regions.c

index fdd99edda7b4a4cddd87b45296d68051e81b8bfa..ffd9366522b89d2456cbd09c86db90adb03ca6e4 100644 (file)
@@ -90,7 +90,10 @@ intel_region_alloc(struct intel_context *intel,
    region->refcount = 1;
 
    region->buffer = dri_bo_alloc(intel->bufmgr, "region",
-                                pitch * cpp * height, 64, DRM_BO_FLAG_MEM_TT);
+                                pitch * cpp * height, 64,
+                                DRM_BO_FLAG_MEM_LOCAL |
+                                DRM_BO_FLAG_CACHED |
+                                DRM_BO_FLAG_CACHED_MAPPED);
    return region;
 }
 
@@ -322,7 +325,10 @@ intel_region_release_pbo(struct intel_context *intel,
 
    region->buffer = dri_bo_alloc(intel->bufmgr, "region",
                                 region->pitch * region->cpp * region->height,
-                                64, DRM_BO_FLAG_MEM_TT);
+                                64,
+                                DRM_BO_FLAG_MEM_LOCAL |
+                                DRM_BO_FLAG_CACHED |
+                                DRM_BO_FLAG_CACHED_MAPPED);
 }
 
 /* Break the COW tie to the pbo.  Both the pbo and the region end up