wgl: Flush frontbuffer when calling swapbuffers on single-buffered fb
Some apps don't look at what kind of PFDthey get, and if they get a single-buffered one, they only ever call swap and never flush, so nothing shows up on-screen. Reviewed-by: Sil Vilerino <sivileri@microsoft.com> Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512>
This commit is contained in:
@@ -730,13 +730,13 @@ wait_swap_interval(struct stw_framebuffer *fb, int interval)
|
|||||||
BOOL
|
BOOL
|
||||||
stw_framebuffer_swap_locked(HDC hdc, struct stw_framebuffer *fb)
|
stw_framebuffer_swap_locked(HDC hdc, struct stw_framebuffer *fb)
|
||||||
{
|
{
|
||||||
struct stw_context *ctx;
|
struct stw_context *ctx = stw_current_context();
|
||||||
if (!(fb->pfi->pfd.dwFlags & PFD_DOUBLEBUFFER)) {
|
if (!(fb->pfi->pfd.dwFlags & PFD_DOUBLEBUFFER)) {
|
||||||
stw_framebuffer_unlock(fb);
|
stw_framebuffer_unlock(fb);
|
||||||
|
stw_st_flush(ctx->st, fb->drawable, ST_FLUSH_END_OF_FRAME | ST_FLUSH_FRONT);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx = stw_current_context();
|
|
||||||
if (ctx) {
|
if (ctx) {
|
||||||
if (ctx->hud) {
|
if (ctx->hud) {
|
||||||
/* Display the HUD */
|
/* Display the HUD */
|
||||||
|
Reference in New Issue
Block a user