On 2018-09-07 11:35 p.m., Marek Olšák wrote: > From: Marek Olšák <marek.ol...@amd.com> > > Tested-by: Dieter Nützel <die...@nuetzel-hh.de> > --- > src/gallium/auxiliary/util/u_inlines.h | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/src/gallium/auxiliary/util/u_inlines.h > b/src/gallium/auxiliary/util/u_inlines.h > index 83013df53f1..820d3080a5c 100644 > --- a/src/gallium/auxiliary/util/u_inlines.h > +++ b/src/gallium/auxiliary/util/u_inlines.h > @@ -72,28 +72,29 @@ pipe_is_referenced(struct pipe_reference *src) > static inline boolean > pipe_reference_described(struct pipe_reference *dst, > struct pipe_reference *src, > debug_reference_descriptor get_desc) > { > boolean destroy = FALSE; > > if (dst != src) { > /* bump the src.count first */ > if (src) { > - assert(pipe_is_referenced(src)); > - p_atomic_inc(&src->count); > + MAYBE_UNUSED int count = p_atomic_inc_return(&src->count); > + assert(count != 1); /* src had to be referenced */ > debug_reference(src, get_desc, 1); > } > > if (dst) { > - assert(pipe_is_referenced(dst)); > - if (p_atomic_dec_zero(&dst->count)) > + int count = p_atomic_dec_return(&dst->count); > + assert(count != -1); /* dst had to be referenced */ > + if (!count) > destroy = TRUE; > > debug_reference(dst, get_desc, -1); > } > } > > return destroy; > } > > static inline boolean >
Reviewed-by: Michel Dänzer <michel.daen...@amd.com> -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev