[Mesa-dev] [PATCH] i965/drm: Inline brw_bo_references.
Kenneth Graunke
kenneth at whitecape.org
Sun Jul 30 23:08:10 UTC 2017
It's a single atomic add, so it makes sense to inline it.
Improves performance in Piglit's drawoverhead microbenchmark's
"DrawArrays ( 1 VBO, 0 UBO, 0 ) w/ no state change" subtest by
0.400922% +/- 0.310389% (n=350) on my i7-7700HQ.
---
src/mesa/drivers/dri/i965/brw_bufmgr.c | 6 ------
src/mesa/drivers/dri/i965/brw_bufmgr.h | 7 ++++++-
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.c b/src/mesa/drivers/dri/i965/brw_bufmgr.c
index 020d64849d9..f70365eba2a 100644
--- a/src/mesa/drivers/dri/i965/brw_bufmgr.c
+++ b/src/mesa/drivers/dri/i965/brw_bufmgr.c
@@ -196,12 +196,6 @@ bucket_for_size(struct brw_bufmgr *bufmgr, uint64_t size)
return NULL;
}
-inline void
-brw_bo_reference(struct brw_bo *bo)
-{
- p_atomic_inc(&bo->refcount);
-}
-
int
brw_bo_busy(struct brw_bo *bo)
{
diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.h b/src/mesa/drivers/dri/i965/brw_bufmgr.h
index 6a6051bb71c..15d37c04851 100644
--- a/src/mesa/drivers/dri/i965/brw_bufmgr.h
+++ b/src/mesa/drivers/dri/i965/brw_bufmgr.h
@@ -37,6 +37,7 @@
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
+#include "util/u_atomic.h"
#include "util/list.h"
#if defined(__cplusplus)
@@ -188,7 +189,11 @@ struct brw_bo *brw_bo_alloc_tiled_2d(struct brw_bufmgr *bufmgr,
unsigned flags);
/** Takes a reference on a buffer object */
-void brw_bo_reference(struct brw_bo *bo);
+static inline void
+brw_bo_reference(struct brw_bo *bo)
+{
+ p_atomic_inc(&bo->refcount);
+}
/**
* Releases a reference on a buffer object, freeing the data if
--
2.13.3
More information about the mesa-dev
mailing list