2017-06-13 12:07 GMT+02:00 Michel Dänzer <[email protected]>: > 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. >
Hello, If pipe_resource_next_reference is not meant to be inlined, maybe put it in a source file? Regards, Gustaw _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
