projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
radeonsi/gfx10: implement most performance counters
[mesa.git]
/
src
/
freedreno
/
drm
/
freedreno_bo.c
diff --git
a/src/freedreno/drm/freedreno_bo.c
b/src/freedreno/drm/freedreno_bo.c
index de8e128ec3f35be5685b82c6e5348603d1b3b1b6..862465cfe43c5eea3e001c37fc67ec417d911264 100644
(file)
--- a/
src/freedreno/drm/freedreno_bo.c
+++ b/
src/freedreno/drm/freedreno_bo.c
@@
-132,9
+132,11
@@
fd_bo_new_ring(struct fd_device *dev, uint32_t size)
{
uint32_t flags = DRM_FREEDRENO_GEM_GPUREADONLY;
struct fd_bo *bo = bo_new(dev, size, flags, &dev->ring_cache);
{
uint32_t flags = DRM_FREEDRENO_GEM_GPUREADONLY;
struct fd_bo *bo = bo_new(dev, size, flags, &dev->ring_cache);
- if (bo)
+ if (bo)
{
bo->bo_reuse = RING_CACHE;
bo->bo_reuse = RING_CACHE;
- fd_bo_set_name(bo, "cmdstream");
+ bo->flags |= FD_RELOC_DUMP;
+ fd_bo_set_name(bo, "cmdstream");
+ }
return bo;
}
return bo;
}
@@
-226,8
+228,16
@@
out_unlock:
return bo;
}
return bo;
}
+void
+fd_bo_mark_for_dump(struct fd_bo *bo)
+{
+ bo->flags |= FD_RELOC_DUMP;
+}
+
uint64_t fd_bo_get_iova(struct fd_bo *bo)
{
uint64_t fd_bo_get_iova(struct fd_bo *bo)
{
+ /* ancient kernels did not support this */
+ assert(bo->iova != 0);
return bo->iova;
}
return bo->iova;
}
@@
-308,6
+318,7
@@
int fd_bo_get_name(struct fd_bo *bo, uint32_t *name)
uint32_t fd_bo_handle(struct fd_bo *bo)
{
uint32_t fd_bo_handle(struct fd_bo *bo)
{
+ bo->bo_reuse = NO_CACHE;
return bo->handle;
}
return bo->handle;
}