i965: Print access flags in INTEL_DEBUG=buf output.
Being able to see the access mode of various mappings is incredibly useful for debugging. With this patch, INTEL_DEBUG=buf now shows data such as: bo_create: buf 7 (bufferobj) 640b bo_map_gtt: 7 (bufferobj) -> 0x7fca1fae5000, WRITE ASYNC brw_bo_map_cpu: 7 (bufferobj) -> 0x7fca1fae4000, READ bo_map_gtt: 5 (bufferobj) -> 0x7fca1fad4000, WRITE ASYNC brw_bo_map_cpu: 7 (bufferobj) -> 0x7fca1fae4000, READ which makes it easy to see that there are async GTT writes with intervening CPU reads. Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
d8382d6889
commit
df1279e9df
|
@ -645,6 +645,24 @@ set_domain(struct brw_context *brw, const char *action,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
print_flags(unsigned flags)
|
||||||
|
{
|
||||||
|
if (flags & MAP_READ)
|
||||||
|
DBG("READ ");
|
||||||
|
if (flags & MAP_WRITE)
|
||||||
|
DBG("WRITE ");
|
||||||
|
if (flags & MAP_ASYNC)
|
||||||
|
DBG("ASYNC ");
|
||||||
|
if (flags & MAP_PERSISTENT)
|
||||||
|
DBG("PERSISTENT ");
|
||||||
|
if (flags & MAP_COHERENT)
|
||||||
|
DBG("COHERENT ");
|
||||||
|
if (flags & MAP_RAW)
|
||||||
|
DBG("RAW ");
|
||||||
|
DBG("\n");
|
||||||
|
}
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
brw_bo_map_cpu(struct brw_context *brw, struct brw_bo *bo, unsigned flags)
|
brw_bo_map_cpu(struct brw_context *brw, struct brw_bo *bo, unsigned flags)
|
||||||
{
|
{
|
||||||
|
@ -674,8 +692,9 @@ brw_bo_map_cpu(struct brw_context *brw, struct brw_bo *bo, unsigned flags)
|
||||||
drm_munmap(map, bo->size);
|
drm_munmap(map, bo->size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DBG("brw_bo_map_cpu: %d (%s) -> %p\n", bo->gem_handle, bo->name,
|
DBG("brw_bo_map_cpu: %d (%s) -> %p, ", bo->gem_handle, bo->name,
|
||||||
bo->map_cpu);
|
bo->map_cpu);
|
||||||
|
print_flags(flags);
|
||||||
|
|
||||||
if (!(flags & MAP_ASYNC) || !bufmgr->has_llc) {
|
if (!(flags & MAP_ASYNC) || !bufmgr->has_llc) {
|
||||||
set_domain(brw, "CPU mapping", bo, I915_GEM_DOMAIN_CPU,
|
set_domain(brw, "CPU mapping", bo, I915_GEM_DOMAIN_CPU,
|
||||||
|
@ -725,8 +744,8 @@ brw_bo_map_gtt(struct brw_context *brw, struct brw_bo *bo, unsigned flags)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DBG("bo_map_gtt: %d (%s) -> %p\n", bo->gem_handle, bo->name,
|
DBG("bo_map_gtt: %d (%s) -> %p, ", bo->gem_handle, bo->name, bo->map_gtt);
|
||||||
bo->map_gtt);
|
print_flags(flags);
|
||||||
|
|
||||||
if (!(flags & MAP_ASYNC) || !bufmgr->has_llc) {
|
if (!(flags & MAP_ASYNC) || !bufmgr->has_llc) {
|
||||||
set_domain(brw, "GTT mapping", bo,
|
set_domain(brw, "GTT mapping", bo,
|
||||||
|
|
Loading…
Reference in New Issue