X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fstate_trackers%2Fwgl%2Fstw_framebuffer.h;h=89d12300e67c2386410072ae292274244bc95577;hb=ccd13da0fc1f1813b55fc0d2181a6cb0d3b42b0d;hp=b80d168a7cead3382107047c954733f36691d800;hpb=48302e9b309c7ce218de2e522c91bdc87e61cdbc;p=mesa.git diff --git a/src/gallium/state_trackers/wgl/stw_framebuffer.h b/src/gallium/state_trackers/wgl/stw_framebuffer.h index b80d168a7ce..89d12300e67 100644 --- a/src/gallium/state_trackers/wgl/stw_framebuffer.h +++ b/src/gallium/state_trackers/wgl/stw_framebuffer.h @@ -30,11 +30,10 @@ #include -#include "main/mtypes.h" - -#include "pipe/p_thread.h" +#include "os/os_thread.h" struct pipe_surface; +struct st_framebuffer_iface; struct stw_pixelformat_info; /** @@ -45,7 +44,7 @@ struct stw_framebuffer /** * This mutex has two purposes: * - protect the access to the mutable data members below - * - prevent the the framebuffer from being deleted while being accessed. + * - prevent the framebuffer from being deleted while being accessed. * * It is OK to lock this mutex while holding the stw_device::fb_mutex lock, * but the opposite must never happen. @@ -64,13 +63,15 @@ struct stw_framebuffer int iPixelFormat; const struct stw_pixelformat_info *pfi; - GLvisual visual; + + struct st_framebuffer_iface *stfb; /* * Mutable members. */ - struct st_framebuffer *stfb; + unsigned refcnt; + /* FIXME: Make this work for multiple contexts bound to the same framebuffer */ boolean must_resize; @@ -114,6 +115,11 @@ stw_framebuffer_create( HDC hdc, int iPixelFormat ); +void +stw_framebuffer_reference( + struct stw_framebuffer **ptr, + struct stw_framebuffer *fb); + /** * Search a framebuffer with a matching HWND. * @@ -134,10 +140,6 @@ struct stw_framebuffer * stw_framebuffer_from_hdc( HDC hdc ); -BOOL -stw_framebuffer_allocate( - struct stw_framebuffer *fb ); - BOOL stw_framebuffer_present_locked(HDC hdc, struct stw_framebuffer *fb,