On 13/06/17 06:51 PM, Timothy Arceri wrote: > On 13/06/17 19:22, Michel Dänzer wrote: >> From: Michel Dänzer <[email protected]> >> >> It calling itself recursively prevented it from being inlined, resulting >> in a copy being generated in every compilation unit referencing it. This >> bloated the text segment of the Gallium mega-driver *_dri.so by ~5%, >> and might also have impacted performance. >> >> Fixes: ecd6fce2611e ("mesa/st: support lowering multi-planar YUV") >> Signed-off-by: Michel Dänzer <[email protected]> >> --- >> src/gallium/auxiliary/util/u_inlines.h | 13 ++++++++++++- >> 1 file changed, 12 insertions(+), 1 deletion(-) >> >> diff --git a/src/gallium/auxiliary/util/u_inlines.h >> b/src/gallium/auxiliary/util/u_inlines.h >> index 6a3d5043cf..9a08779f2a 100644 >> --- a/src/gallium/auxiliary/util/u_inlines.h >> +++ b/src/gallium/auxiliary/util/u_inlines.h >> @@ -131,13 +131,24 @@ pipe_surface_release(struct pipe_context *pipe, >> struct pipe_surface **ptr) >> static inline void >> +pipe_resource_next_reference(struct pipe_resource **ptr, struct >> pipe_resource *tex) >> +{ >> + struct pipe_resource *old_tex = *ptr; >> + >> + if (pipe_reference_described(&(*ptr)->reference, &tex->reference, >> + >> (debug_reference_descriptor)debug_describe_resource)) > > Why don't we need to call pipe_resource_next_reference(&old_tex->next, > NULL) again here?
Good catch, thanks. I'll work on a v3 patch fixing this tomorrow. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
