Module: Mesa
Branch: main
Commit: 018251908eabfa6855667368efb7ca99f4c694e0
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=018251908eabfa6855667368efb7ca99f4c694e0

Author: Dave Airlie <[email protected]>
Date:   Tue Dec 21 16:11:47 2021 +1000

mesa/st: move some fbo helpers around.

This inlines one, and moves the other to a more appropriate place

Reviewed-by: Kristian H. Kristensen <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14675>

---

 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);
 

Reply via email to