From 018251908eabfa6855667368efb7ca99f4c694e0 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 21 Dec 2021 16:11:47 +1000 Subject: [PATCH] mesa/st: move some fbo helpers around. This inlines one, and moves the other to a more appropriate place Reviewed-by: Kristian H. Kristensen Part-of: --- src/gallium/frontends/dri/dri_helpers.c | 2 +- src/mesa/state_tracker/st_cb_fbo.h | 23 ----------------------- src/mesa/state_tracker/st_cb_viewport.c | 2 +- src/mesa/state_tracker/st_manager.c | 1 + src/mesa/state_tracker/st_manager.h | 18 ++++++++++++++++++ 5 files changed, 21 insertions(+), 25 deletions(-) diff --git a/src/gallium/frontends/dri/dri_helpers.c b/src/gallium/frontends/dri/dri_helpers.c index a2c864ae101..44fa5bee81a 100644 --- a/src/gallium/frontends/dri/dri_helpers.c +++ b/src/gallium/frontends/dri/dri_helpers.c @@ -300,7 +300,7 @@ dri2_create_image_from_renderbuffer2(__DRIcontext *context, return NULL; } - tex = st_get_renderbuffer_resource(rb); + tex = rb->texture; if (!tex) { *error = __DRI_IMAGE_ERROR_BAD_PARAMETER; return NULL; diff --git a/src/mesa/state_tracker/st_cb_fbo.h b/src/mesa/state_tracker/st_cb_fbo.h index 7ddfd1d4e5d..8e19185d666 100644 --- a/src/mesa/state_tracker/st_cb_fbo.h +++ b/src/mesa/state_tracker/st_cb_fbo.h @@ -36,31 +36,8 @@ #include "pipe/p_compiler.h" #include "pipe/p_format.h" -struct dd_function_table; struct pipe_context; -static inline struct pipe_resource * -st_get_renderbuffer_resource(struct gl_renderbuffer *rb) -{ - return rb->texture; -} - -/** - * Cast wrapper to convert a struct gl_framebuffer to an gl_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 gl_framebuffer * -st_ws_framebuffer(struct gl_framebuffer *fb) -{ - /* FBO cannot be casted. See st_new_framebuffer */ - if (fb && _mesa_is_winsys_fbo(fb) && - fb != _mesa_get_incomplete_framebuffer()) - return fb; - return NULL; -} - extern void st_update_renderbuffer_surface(struct st_context *st, struct gl_renderbuffer *strb); diff --git a/src/mesa/state_tracker/st_cb_viewport.c b/src/mesa/state_tracker/st_cb_viewport.c index 0a53c0e8414..a38d615db1e 100644 --- a/src/mesa/state_tracker/st_cb_viewport.c +++ b/src/mesa/state_tracker/st_cb_viewport.c @@ -27,7 +27,7 @@ #include "main/glheader.h" #include "st_context.h" -#include "st_cb_fbo.h" +#include "st_manager.h" #include "st_cb_viewport.h" #include "pipe/p_state.h" diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index ae94a45c444..f9b939dba79 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -51,6 +51,7 @@ #include "st_cb_flush.h" #include "st_manager.h" #include "st_sampler_view.h" +#include "st_util.h" #include "state_tracker/st_gl_api.h" diff --git a/src/mesa/state_tracker/st_manager.h b/src/mesa/state_tracker/st_manager.h index fa1a3302c5f..562ff9de6f9 100644 --- a/src/mesa/state_tracker/st_manager.h +++ b/src/mesa/state_tracker/st_manager.h @@ -29,15 +29,33 @@ #define ST_MANAGER_H #include "main/menums.h" +#include "main/fbobject.h" #include "pipe/p_compiler.h" + struct st_context; struct st_framebuffer; struct st_framebuffer_interface; struct gl_renderbuffer; struct pipe_surface; +/** + * Cast wrapper to convert a struct gl_framebuffer to an gl_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 gl_framebuffer * +st_ws_framebuffer(struct gl_framebuffer *fb) +{ + /* FBO cannot be casted. See st_new_framebuffer */ + if (fb && _mesa_is_winsys_fbo(fb) && + fb != _mesa_get_incomplete_framebuffer()) + return fb; + return NULL; +} + void st_manager_flush_frontbuffer(struct st_context *st);