gcc generates an error at build time because it fails to inline some functions: blt.c: In function 'affine_blt': blt.c:980:1: error: inlining failed in call to always_inline 'bilinear_weight': optimization level attribute mismatch bilinear_weight(pixman_fixed_t x) blt.c:1164:7: error: called from here fy = bilinear_weight(y1); ^ blt.c:980:1: error: inlining failed in call to always_inline 'bilinear_weight': optimization level attribute mismatch bilinear_weight(pixman_fixed_t x) blt.c:1163:7: error: called from here fx = bilinear_weight(x1); ^ blt.c:989:1: error: inlining failed in call to always_inline 'bilinear_interpolation': optimization level attribute mismatch bilinear_interpolation(uint32_t tl, uint32_t tr, ^ blt.c:1207:11: error: called from here b[i] = bilinear_interpolation(tl, tr, bl, br, fx, fy); ^ Do not force inlining of these functions and let the compiler decide to avoid the compilation failure. Signed-off-by: Olivier Fourdan <ofourdan@xxxxxxxxxx> --- Note: It could be a gcc bug, I am not sure, I don't know enough of gcc internals to tell, that's why I post this patch as "RFC". src/sna/blt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sna/blt.c b/src/sna/blt.c index a2472c1..687fb40 100644 --- a/src/sna/blt.c +++ b/src/sna/blt.c @@ -976,7 +976,7 @@ memcpy_xor(const void *src, void *dst, int bpp, } #define BILINEAR_INTERPOLATION_BITS 4 -static force_inline int +static inline int bilinear_weight(pixman_fixed_t x) { return (x >> (16 - BILINEAR_INTERPOLATION_BITS)) & @@ -985,7 +985,7 @@ bilinear_weight(pixman_fixed_t x) #if BILINEAR_INTERPOLATION_BITS <= 4 /* Inspired by Filter_32_opaque from Skia */ -static force_inline uint32_t +static inline uint32_t bilinear_interpolation(uint32_t tl, uint32_t tr, uint32_t bl, uint32_t br, int distx, int disty) -- 2.3.6 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx