From 4f805edd3f53523a7e34a8911d0af4bb40f57197 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 6 Jun 2017 14:32:08 +0200 Subject: [PATCH] mesa: wrap blit_framebuffer() into blit_framebuffer_err() Also add ALWAYS_INLINE to blit_framebuffer(). Signed-off-by: Samuel Pitoiset Reviewed-by: Timothy Arceri --- src/mesa/main/blit.c | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/mesa/main/blit.c b/src/mesa/main/blit.c index 970c357..be5e4f1 100644 --- a/src/mesa/main/blit.c +++ b/src/mesa/main/blit.c @@ -177,7 +177,7 @@ is_valid_blit_filter(const struct gl_context *ctx, GLenum filter) } -static void +static ALWAYS_INLINE void blit_framebuffer(struct gl_context *ctx, struct gl_framebuffer *readFb, struct gl_framebuffer *drawFb, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, @@ -537,6 +537,22 @@ blit_framebuffer(struct gl_context *ctx, } +static void +blit_framebuffer_err(struct gl_context *ctx, + struct gl_framebuffer *readFb, + struct gl_framebuffer *drawFb, + GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, + GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, + GLbitfield mask, GLenum filter, const char *func) +{ + /* We are wrapping the err variant of the always inlined + * blit_framebuffer() to avoid inlining it in every caller. + */ + blit_framebuffer(ctx, readFb, drawFb, srcX0, srcY0, srcX1, srcY1, + dstX0, dstY0, dstX1, dstY1, mask, filter, false, func); +} + + /** * Blit rectangular region, optionally from one framebuffer to another. * @@ -558,10 +574,10 @@ _mesa_BlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, dstX0, dstY0, dstX1, dstY1, mask, _mesa_enum_to_string(filter)); - blit_framebuffer(ctx, ctx->ReadBuffer, ctx->DrawBuffer, - srcX0, srcY0, srcX1, srcY1, - dstX0, dstY0, dstX1, dstY1, - mask, filter, false, "glBlitFramebuffer"); + blit_framebuffer_err(ctx, ctx->ReadBuffer, ctx->DrawBuffer, + srcX0, srcY0, srcX1, srcY1, + dstX0, dstY0, dstX1, dstY1, + mask, filter, "glBlitFramebuffer"); } @@ -609,8 +625,8 @@ _mesa_BlitNamedFramebuffer(GLuint readFramebuffer, GLuint drawFramebuffer, else drawFb = ctx->WinSysDrawBuffer; - blit_framebuffer(ctx, readFb, drawFb, - srcX0, srcY0, srcX1, srcY1, - dstX0, dstY0, dstX1, dstY1, - mask, filter, false, "glBlitNamedFramebuffer"); + blit_framebuffer_err(ctx, readFb, drawFb, + srcX0, srcY0, srcX1, srcY1, + dstX0, dstY0, dstX1, dstY1, + mask, filter, "glBlitNamedFramebuffer"); } -- 2.7.4