diff options
author | wm4 <wm4@nowhere> | 2015-12-19 11:56:19 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-12-19 14:14:12 +0100 |
commit | 3394d37b4ea6876c0a4484c51ba23e6b8ed08e5a (patch) | |
tree | 95e646d22bb8ca0ffb28e9c5850a1241739da8ec /video/out/opengl/w32.c | |
parent | d2baaaa7df87eba9566fb935eeab5bd0af80fe1b (diff) | |
download | mpv-3394d37b4ea6876c0a4484c51ba23e6b8ed08e5a.tar.bz2 mpv-3394d37b4ea6876c0a4484c51ba23e6b8ed08e5a.tar.xz |
vo_opengl: refactor how framebuffer depth is passed from backends
Store the determined framebuffer depth in struct GL instead of
MPGLContext. This means gl_video_set_output_depth() can be removed, and
also justifies adding new fields describing framebuffer/backend
properties to struct GL instead of having to add more functions just to
shovel the information around.
Keep in mind that mpgl_load_functions() will wipe struct GL, so the
new fields must be set before calling it.
Diffstat (limited to 'video/out/opengl/w32.c')
-rw-r--r-- | video/out/opengl/w32.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/video/out/opengl/w32.c b/video/out/opengl/w32.c index ab6550a492..86f4414aa4 100644 --- a/video/out/opengl/w32.c +++ b/video/out/opengl/w32.c @@ -80,13 +80,6 @@ static bool create_dc(struct MPGLContext *ctx, int flags) SetPixelFormat(hdc, pf, &pfd); - int pfmt = GetPixelFormat(hdc); - if (DescribePixelFormat(hdc, pfmt, sizeof(PIXELFORMATDESCRIPTOR), &pfd)) { - ctx->depth_r = pfd.cRedBits; - ctx->depth_g = pfd.cGreenBits; - ctx->depth_b = pfd.cBlueBits; - } - w32_ctx->hdc = hdc; return true; } @@ -221,6 +214,14 @@ static void create_ctx(void *ptr) if (!w32_ctx->context) create_context_w32_old(ctx); + int pfmt = GetPixelFormat(w32_ctx->hdc); + PIXELFORMATDESCRIPTOR pfd; + if (DescribePixelFormat(w32_ctx->hdc, pfmt, sizeof(pfd), &pfd)) { + ctx->gl->fb_r = pfd.cRedBits; + ctx->gl->fb_g = pfd.cGreenBits; + ctx->gl->fb_b = pfd.cBlueBits; + } + wglMakeCurrent(w32_ctx->hdc, NULL); } |