Mesa (master): wgl: Add winsys framebuffer object

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 18 10:43:32 UTC 2020


Module: Mesa
Branch: master
Commit: 23bfe0356748c6d3e4bb9db490910c0f29c70197
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=23bfe0356748c6d3e4bb9db490910c0f29c70197

Author: Jesse Natalie <jenatali at ntdev.microsoft.com>
Date:   Sat Apr 25 16:04:12 2020 -0400

wgl: Add winsys framebuffer object

Reviewed-by: Charmaine Lee <charmainel at vmware.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7535>

---

 src/gallium/frontends/wgl/stw_winsys.h | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/src/gallium/frontends/wgl/stw_winsys.h b/src/gallium/frontends/wgl/stw_winsys.h
index 236812afa5d..07a0729a7b8 100644
--- a/src/gallium/frontends/wgl/stw_winsys.h
+++ b/src/gallium/frontends/wgl/stw_winsys.h
@@ -31,6 +31,7 @@
 #include <windows.h> /* for HDC */
 
 #include "pipe/p_compiler.h"
+#include "frontend/api.h"
 
 struct pipe_screen;
 struct pipe_context;
@@ -44,6 +45,24 @@ typedef enum
    stw_pfd_double_buffer = 1 << 1,
 } stw_pfd_flag;
 
+struct stw_winsys_framebuffer
+{
+   void
+   (*destroy)(struct stw_winsys_framebuffer *fb);
+
+   boolean
+   (*present)(struct stw_winsys_framebuffer *fb);
+
+   void
+   (*resize)(struct stw_winsys_framebuffer *fb,
+             struct pipe_context *context,
+             struct pipe_resource *templ);
+
+   struct pipe_resource *
+   (*get_resource)(struct stw_winsys_framebuffer *fb,
+                   enum st_attachment_type statt);
+};
+
 struct stw_winsys
 {
    struct pipe_screen *
@@ -104,6 +123,14 @@ struct stw_winsys
     */
    unsigned
    (*get_pfd_flags)( struct pipe_screen *screen );
+
+   /**
+    * Create a winsys-specific object for a given DC's framebuffer
+    */
+   struct stw_winsys_framebuffer *
+   (*create_framebuffer)( struct pipe_screen *screen,
+                          HDC hDC,
+                          int iPixelFormat );
 };
 
 boolean



More information about the mesa-commit mailing list