summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/context_win.c
Commit message (Collapse)AuthorAgeFilesLines
* various: add GPU context descriptionnanahi2024-04-181-0/+1
| | | | | | | Now that obj_settings_list is used for GPU contexts, detailed descriptions can be added so that --gpu-context=help can print the descriptions of the GPU contexts using standard obj_settings_list help printing.
* opengl/context_win: make --alpha runtime changeablenanahi2024-02-171-8/+13
| | | | | Same as d3d11, but since SetPixelFormat can be only called once, cAlphaBits in PIXELFORMATDESCRIPTOR must be set to make this work.
* opengl/context_win: make --alpha=yes worknanahi2024-02-171-0/+5
| | | | | | | | Specify cAlphaBits in PIXELFORMATDESCRIPTOR makes the pixel format transparent, as is already the case for d3d11. Also makes the window transparent when --alpha=yes is used. Works on --vo=gpu and --vo=gpu-next.
* opengl/context_win: move opengl-dwmflush to wingl_opts groupDudemanguy2023-09-221-8/+23
| | | | Gets rid of yet another mp_read_option_raw call.
* video: opengl: use gl_check_extension() instead of strstr()sfan52021-11-171-1/+1
| | | | | | Using a simple substring match for extension checks is considered bad practice because it's incorrect when one extension is a prefix of another's name. This will almost surely not make a difference in practice but do it for correctness anyway.
* vo_gpu: win: remove exclusive-fullscreen detection hackJames Ross-Gowan2017-12-201-6/+0
| | | | | | | | | | | | | | | | | | | | | This hack was part of a solution to VSync judder in desktop OpenGL on Windows. Rather than using blocking-SwapBuffers(), mpv could use DwmFlush() to wait for the image to be presented by the compositor. Since this would only work while the compositor was running, and the compositor was silently disabled when OpenGL entered exclusive fullscreen mode, mpv needed a way to detect exclusive fullscreen mode. The code that is being removed could detect exclusive fullscreen mode by checking the state of an undocumented mutex using undocumented native API functions, but because of how fragile it was, it was always meant to be removed when a better solution for accurate VSync in OpenGL was found. Since then, mpv got the dxinterop backend, which uses desktop OpenGL but has accurate VSync. It also got a native Direct3D 11 backend, which is a viable alternative to OpenGL on Windows. For people who are still using desktop OpenGL with WGL, there shouldn't be much of a difference, since mpv can use other API functions to detect exclusive fullscreen.
* vo_gpu: convert windows/osx hwdecs/contexts to new APIJames Ross-Gowan2017-09-211-0/+369