From 5281e4ed3b2ee25627517c23708bb02857ec5992 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Tue, 11 Apr 2017 22:55:02 -0700 Subject: i965/drm: Inline brw_bo_references. 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. Reviewed-by: Jason Ekstrand --- 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 020d64849d..f70365eba2 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 6a6051bb71..15d37c0485 100644 --- a/src/mesa/drivers/dri/i965/brw_bufmgr.h +++ b/src/mesa/drivers/dri/i965/brw_bufmgr.h @@ -37,6 +37,7 @@ #include #include #include +#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 -- cgit v1.2.3