From 2613580cafd3f08495e4dbb627f83efc449a7a88 Mon Sep 17 00:00:00 2001 From: Jesse Natalie Date: Thu, 20 Jun 2024 09:25:27 -0700 Subject: [PATCH] wgl: Delete pixelformat support query This whole thing was just a mess and never really worked the way it was supposed to. All drivers can support GDI interop and double-buffering independently at this point, so just remove it. Fixes: c432fbe5 ("wgl: Add no-gdi-single-buffered and gdi-double-buffered PFDs") Reviewed-By: Mike Blumenkrantz Reviewed-by: Jose Fonseca Part-of: (cherry picked from commit a02b759f413a589a77d36c9ffe731cb139e2ed1d) --- .pick_status.json | 2 +- src/gallium/frontends/wgl/stw_pixelformat.c | 6 ------ src/gallium/frontends/wgl/stw_winsys.h | 7 ------- src/gallium/targets/wgl/wgl.c | 12 ------------ src/gallium/winsys/d3d12/wgl/d3d12_wgl_public.h | 3 --- src/gallium/winsys/d3d12/wgl/d3d12_wgl_winsys.c | 7 ------- 6 files changed, 1 insertion(+), 36 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index d582b678364..46825cf07db 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -694,7 +694,7 @@ "description": "wgl: Delete pixelformat support query", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "c432fbe534d1b1d3874b612b97d8ed3fe97c8945", "notes": null diff --git a/src/gallium/frontends/wgl/stw_pixelformat.c b/src/gallium/frontends/wgl/stw_pixelformat.c index b88f9a4cbcb..343ea3f3303 100644 --- a/src/gallium/frontends/wgl/stw_pixelformat.c +++ b/src/gallium/frontends/wgl/stw_pixelformat.c @@ -246,10 +246,6 @@ add_color_format_variants(const struct stw_pf_color_info *color_formats, unsigned num_added = 0; int force_samples = 0; - unsigned supported_flags = 0; - if (stw_dev->stw_winsys && stw_dev->stw_winsys->get_pfd_flags) - supported_flags = stw_dev->stw_winsys->get_pfd_flags(screen); - /* Since GLUT for Windows doesn't support MSAA we have an env var * to force all pixel formats to have a particular number of samples. */ @@ -298,8 +294,6 @@ add_color_format_variants(const struct stw_pf_color_info *color_formats, for (f = 0; f < ARRAY_SIZE(stw_pf_flag); f++) { stw_pfd_flag flag = stw_pf_flag[f]; - if ((supported_flags & flag) != flag) - continue; for (acc = 0; acc < 2; acc++) { stw_pixelformat_add(stw_dev, extended, &color_formats[cfmt], depth, acc * 16, diff --git a/src/gallium/frontends/wgl/stw_winsys.h b/src/gallium/frontends/wgl/stw_winsys.h index 8e6e082230c..af9abb7b629 100644 --- a/src/gallium/frontends/wgl/stw_winsys.h +++ b/src/gallium/frontends/wgl/stw_winsys.h @@ -124,13 +124,6 @@ struct stw_winsys LPCRECT pRect, ULONGLONG PresentHistoryToken ); - /** - * Query whether the driver can support GDI and/or double-buffering in its - * pixel formats (optional). - */ - unsigned - (*get_pfd_flags)( struct pipe_screen *screen ); - /** * Create a winsys-specific object for a given DC's framebuffer */ diff --git a/src/gallium/targets/wgl/wgl.c b/src/gallium/targets/wgl/wgl.c index 7a7c571e2ce..041c4b349a5 100644 --- a/src/gallium/targets/wgl/wgl.c +++ b/src/gallium/targets/wgl/wgl.c @@ -221,17 +221,6 @@ wgl_get_adapter_luid(struct pipe_screen* screen, #endif -static unsigned -wgl_get_pfd_flags(struct pipe_screen *screen) -{ -#ifdef GALLIUM_D3D12 - if (use_d3d12) - return d3d12_wgl_get_pfd_flags(screen); -#endif - return stw_pfd_gdi_support; -} - - static struct stw_winsys_framebuffer * wgl_create_framebuffer(struct pipe_screen *screen, HWND hWnd, @@ -262,7 +251,6 @@ static const struct stw_winsys stw_winsys = { NULL, /* shared_surface_open */ NULL, /* shared_surface_close */ NULL, /* compose */ - &wgl_get_pfd_flags, &wgl_create_framebuffer, &wgl_get_name, }; diff --git a/src/gallium/winsys/d3d12/wgl/d3d12_wgl_public.h b/src/gallium/winsys/d3d12/wgl/d3d12_wgl_public.h index 5046469fb76..9ca97aa70a5 100644 --- a/src/gallium/winsys/d3d12/wgl/d3d12_wgl_public.h +++ b/src/gallium/winsys/d3d12/wgl/d3d12_wgl_public.h @@ -45,9 +45,6 @@ d3d12_wgl_present(struct pipe_screen *screen, struct pipe_resource *res, HDC hDC); -unsigned -d3d12_wgl_get_pfd_flags(struct pipe_screen *screen); - struct stw_winsys_framebuffer * d3d12_wgl_create_framebuffer(struct pipe_screen *screen, HWND hWnd, diff --git a/src/gallium/winsys/d3d12/wgl/d3d12_wgl_winsys.c b/src/gallium/winsys/d3d12/wgl/d3d12_wgl_winsys.c index 0bc011d6d8c..6c1a0b4ea57 100644 --- a/src/gallium/winsys/d3d12/wgl/d3d12_wgl_winsys.c +++ b/src/gallium/winsys/d3d12/wgl/d3d12_wgl_winsys.c @@ -49,10 +49,3 @@ d3d12_wgl_present(struct pipe_screen *screen, { screen->flush_frontbuffer(screen, ctx, res, 0, 0, hDC, 0, NULL); } - -unsigned -d3d12_wgl_get_pfd_flags(struct pipe_screen *screen) -{ - (void)screen; - return stw_pfd_gdi_support | stw_pfd_double_buffer; -}