From b71ef173a5a61a667380dc77f5ae1f7e8c0c2fb8 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 27 Mar 2017 08:30:43 -0600 Subject: [PATCH] st/mesa: move duplicated st_ws_framebuffer() function into header file MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Marek Olšák --- src/mesa/state_tracker/st_cb_fbo.h | 17 +++++++++++++++++ src/mesa/state_tracker/st_cb_viewport.c | 15 +-------------- src/mesa/state_tracker/st_manager.c | 14 -------------- 3 files changed, 18 insertions(+), 28 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_fbo.h b/src/mesa/state_tracker/st_cb_fbo.h index 414a661..d3e0554 100644 --- a/src/mesa/state_tracker/st_cb_fbo.h +++ b/src/mesa/state_tracker/st_cb_fbo.h @@ -30,6 +30,7 @@ #define ST_CB_FBO_H #include "main/compiler.h" +#include "main/fbobject.h" #include "main/glheader.h" #include "main/mtypes.h" @@ -74,6 +75,22 @@ st_renderbuffer(struct gl_renderbuffer *rb) } +/** + * Cast wrapper to convert a struct gl_framebuffer to an st_framebuffer. + * Return NULL if the struct gl_framebuffer is a user-created framebuffer. + * We'll only return non-null for window system framebuffers. + * Note that this function may fail. + */ +static inline struct st_framebuffer * +st_ws_framebuffer(struct gl_framebuffer *fb) +{ + /* FBO cannot be casted. See st_new_framebuffer */ + if (fb && _mesa_is_winsys_fbo(fb)) + return (struct st_framebuffer *) fb; + return NULL; +} + + extern struct gl_renderbuffer * st_new_renderbuffer_fb(enum pipe_format format, int samples, boolean sw); diff --git a/src/mesa/state_tracker/st_cb_viewport.c b/src/mesa/state_tracker/st_cb_viewport.c index d7a3412..ff18fd0 100644 --- a/src/mesa/state_tracker/st_cb_viewport.c +++ b/src/mesa/state_tracker/st_cb_viewport.c @@ -27,26 +27,13 @@ #include "main/glheader.h" #include "st_context.h" +#include "st_cb_fbo.h" #include "st_cb_viewport.h" #include "pipe/p_state.h" #include "pipe/p_defines.h" #include "util/u_atomic.h" -/** - * Cast wrapper to convert a struct gl_framebuffer to an st_framebuffer. - * Return NULL if the struct gl_framebuffer is a user-created framebuffer. - * We'll only return non-null for window system framebuffers. - * Note that this function may fail. - */ -static inline struct st_framebuffer * -st_ws_framebuffer(struct gl_framebuffer *fb) -{ - /* FBO cannot be casted. See st_new_framebuffer */ - if (fb && _mesa_is_winsys_fbo(fb)) - return (struct st_framebuffer *) fb; - return NULL; -} static void st_viewport(struct gl_context *ctx) { diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index dad408a..5942bb7 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -58,20 +58,6 @@ #include "util/u_atomic.h" #include "util/u_surface.h" -/** - * Cast wrapper to convert a struct gl_framebuffer to an st_framebuffer. - * Return NULL if the struct gl_framebuffer is a user-created framebuffer. - * We'll only return non-null for window system framebuffers. - * Note that this function may fail. - */ -static inline struct st_framebuffer * -st_ws_framebuffer(struct gl_framebuffer *fb) -{ - /* FBO cannot be casted. See st_new_framebuffer */ - if (fb && _mesa_is_winsys_fbo(fb)) - return (struct st_framebuffer *) fb; - return NULL; -} /** * Map an attachment to a buffer index. -- 2.7.4