From: Kenneth Graunke Date: Wed, 12 Apr 2017 05:55:02 +0000 (-0700) Subject: i965/drm: Inline brw_bo_references. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5281e4ed3b2ee25627517c23708bb02857ec5992;p=mesa.git 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 --- 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 #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