wgl: Use an hwnd xor hdc for framebuffers

It seems maybe hdcs can get recycled?

Fixes: 28058221 ("wgl: Support contexts created from non-window DCs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41174>
This commit is contained in:
Jesse Natalie 2026-04-24 15:33:03 -07:00 committed by Marge Bot
parent 416da54cce
commit 3f35e65253
2 changed files with 3 additions and 2 deletions

View file

@ -546,8 +546,9 @@ get_unlocked_refd_framebuffer_from_dc(HDC hDC)
* those here.
*/
int iPixelFormat = stw_pixelformat_guess(hDC);
HWND hWnd = WindowFromDC(hDC);
if (iPixelFormat)
fb = stw_framebuffer_create(hDC, WindowFromDC(hDC), stw_pixelformat_get_info(iPixelFormat), STW_FRAMEBUFFER_WGL_WINDOW, stw_dev->fscreen);
fb = stw_framebuffer_create(hWnd ? NULL : hDC, hWnd, stw_pixelformat_get_info(iPixelFormat), STW_FRAMEBUFFER_WGL_WINDOW, stw_dev->fscreen);
if (!fb)
return NULL;
}

View file

@ -475,7 +475,7 @@ stw_framebuffer_from_hdc_locked(HDC hdc)
hwnd = WindowFromDC(hdc);
return stw_framebuffer_from_hwnd_hdc_locked(hwnd, hdc);
return stw_framebuffer_from_hwnd_hdc_locked(hwnd, hwnd ? NULL : hdc);
}