summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/drivers/dri/i965/brw_bufmgr.c4
-rw-r--r--src/mesa/drivers/dri/i965/brw_bufmgr.h5
2 files changed, 9 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.c b/src/mesa/drivers/dri/i965/brw_bufmgr.c
index ee4a5cfa2c8..ec6ab51c12e 100644
--- a/src/mesa/drivers/dri/i965/brw_bufmgr.c
+++ b/src/mesa/drivers/dri/i965/brw_bufmgr.c
@@ -483,6 +483,7 @@ brw_bo_gem_create_from_name(struct brw_bufmgr *bufmgr,
bo->name = name;
bo->global_name = handle;
bo->reusable = false;
+ bo->external = true;
_mesa_hash_table_insert(bufmgr->handle_table, &bo->gem_handle, bo);
_mesa_hash_table_insert(bufmgr->name_table, &bo->global_name, bo);
@@ -997,6 +998,7 @@ brw_bo_gem_create_from_prime(struct brw_bufmgr *bufmgr, int prime_fd)
bo->name = "prime";
bo->reusable = false;
+ bo->external = true;
memclear(get_tiling);
get_tiling.handle = bo->gem_handle;
@@ -1027,6 +1029,7 @@ brw_bo_gem_export_to_prime(struct brw_bo *bo, int *prime_fd)
return -errno;
bo->reusable = false;
+ bo->external = true;
return 0;
}
@@ -1048,6 +1051,7 @@ brw_bo_flink(struct brw_bo *bo, uint32_t *name)
if (!bo->global_name) {
bo->global_name = flink.name;
bo->reusable = false;
+ bo->external = true;
_mesa_hash_table_insert(bufmgr->name_table, &bo->global_name, bo);
}
diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.h b/src/mesa/drivers/dri/i965/brw_bufmgr.h
index 80c71825e80..d388e5ad150 100644
--- a/src/mesa/drivers/dri/i965/brw_bufmgr.h
+++ b/src/mesa/drivers/dri/i965/brw_bufmgr.h
@@ -124,6 +124,11 @@ struct brw_bo {
bool reusable;
/**
+ * Boolean of whether this buffer has been shared with an external client.
+ */
+ bool external;
+
+ /**
* Boolean of whether this buffer is cache coherent
*/
bool cache_coherent;