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=5afbe749086c82ce6f39ab75aa21b33f9e5c6df9;hpb=124f5875eae0b914d5c679fec6b25633907ad843;p=mesa.git diff --git a/src/gallium/state_trackers/wgl/stw_framebuffer.h b/src/gallium/state_trackers/wgl/stw_framebuffer.h index 5afbe749086..89d12300e67 100644 --- a/src/gallium/state_trackers/wgl/stw_framebuffer.h +++ b/src/gallium/state_trackers/wgl/stw_framebuffer.h @@ -30,10 +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; /** @@ -44,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. @@ -63,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; @@ -113,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. * @@ -133,14 +140,10 @@ 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, - unsigned surface_index); + struct pipe_surface *surface); void stw_framebuffer_update(