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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user