diff options
author | der richter <der.richter@gmx.de> | 2019-05-25 19:29:34 +0200 |
---|---|---|
committer | der richter <der.richter@gmx.de> | 2019-09-26 00:02:02 +0200 |
commit | 41f290f54e385f28257bd24e8f399bcb7f3727b7 (patch) | |
tree | 582575468126b095b5dcb435b7b93bf283bf4716 /osdep/macOS_mpv_helper.swift | |
parent | ff2aed2b56e43665e2b10acf06fa107877799bec (diff) | |
download | mpv-41f290f54e385f28257bd24e8f399bcb7f3727b7.tar.bz2 mpv-41f290f54e385f28257bd24e8f399bcb7f3727b7.tar.xz |
cocoa-cb: add support for 10bit opengl rendering
this will request a 16bit half-float framebuffer instead if a 8bit
integer framebuffer.
Fixes #3613
Diffstat (limited to 'osdep/macOS_mpv_helper.swift')
-rw-r--r-- | osdep/macOS_mpv_helper.swift | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/osdep/macOS_mpv_helper.swift b/osdep/macOS_mpv_helper.swift index fdc458e834..3494c60cfd 100644 --- a/osdep/macOS_mpv_helper.swift +++ b/osdep/macOS_mpv_helper.swift @@ -139,12 +139,13 @@ class MPVHelper: NSObject { return flags & UInt64(MPV_RENDER_UPDATE_FRAME.rawValue) > 0 } - func drawRender(_ surface: NSSize, _ ctx: CGLContextObj, skip: Bool = false) { + func drawRender(_ surface: NSSize, _ depth: GLint, _ ctx: CGLContextObj, skip: Bool = false) { deinitLock.lock() if mpvRenderContext != nil { var i: GLint = 0 var flip: CInt = 1 var skip: CInt = skip ? 1 : 0 + var ditherDepth = depth glGetIntegerv(GLenum(GL_DRAW_FRAMEBUFFER_BINDING), &i) // CAOpenGLLayer has ownership of FBO zero yet can return it to us, // so only utilize a newly received FBO ID if it is nonzero. @@ -157,6 +158,7 @@ class MPVHelper: NSObject { var params: [mpv_render_param] = [ mpv_render_param(type: MPV_RENDER_PARAM_OPENGL_FBO, data: &data), mpv_render_param(type: MPV_RENDER_PARAM_FLIP_Y, data: &flip), + mpv_render_param(type: MPV_RENDER_PARAM_DEPTH, data: &ditherDepth), mpv_render_param(type: MPV_RENDER_PARAM_SKIP_RENDERING, data: &skip), mpv_render_param() ] |