wgl: Swap buffers via pointer instead of HDC

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Reviewed By: Bill Kristiansen <billkris@microsoft.com>

Acked-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12727>
This commit is contained in:
Jesse Natalie
2021-09-04 08:02:57 -07:00
committed by Marge Bot
parent 90d2b93731
commit 0574265256
2 changed files with 20 additions and 12 deletions
+17 -12
View File
@@ -670,20 +670,10 @@ wait_swap_interval(struct stw_framebuffer *fb)
fb->prev_swap_time = cur_time;
}
BOOL APIENTRY
DrvSwapBuffers(HDC hdc)
BOOL
stw_framebuffer_swap_locked(HDC hdc, struct stw_framebuffer *fb)
{
struct stw_context *ctx;
struct stw_framebuffer *fb;
if (!stw_dev)
return FALSE;
fb = stw_framebuffer_from_hdc( hdc );
if (fb == NULL)
return FALSE;
if (!(fb->pfi->pfd.dwFlags & PFD_DOUBLEBUFFER)) {
stw_framebuffer_unlock(fb);
return TRUE;
@@ -713,6 +703,21 @@ DrvSwapBuffers(HDC hdc)
return stw_st_swap_framebuffer_locked(hdc, ctx->st, fb->stfb);
}
BOOL APIENTRY
DrvSwapBuffers(HDC hdc)
{
struct stw_framebuffer *fb;
if (!stw_dev)
return FALSE;
fb = stw_framebuffer_from_hdc( hdc );
if (fb == NULL)
return FALSE;
return stw_framebuffer_swap_locked(hdc, fb);
}
BOOL APIENTRY
DrvSwapLayerBuffers(HDC hdc, UINT fuPlanes)
@@ -194,6 +194,9 @@ stw_framebuffer_present_locked(HDC hdc,
void
stw_framebuffer_update(struct stw_framebuffer *fb);
BOOL
stw_framebuffer_swap_locked(HDC hdc, struct stw_framebuffer *fb);
static inline void
stw_framebuffer_lock(struct stw_framebuffer *fb)