From 7b6e3772ab7a39fc81e7524540e69eb30c4da7ac Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 26 Jan 2016 20:47:32 +0100 Subject: vo_opengl: support 10 bit support with ANGLE GLES does not support high bit depth fixed point textures for unknown reasons, so direct 10 bit input is not possible. But we can still use integer textures, which are supported by GLES 3.0. These store integer data just like the standard fixed point textures, except they are not normalized on sampling. They also don't support bilinear filtering, and require a special sampler ("usampler2D"). While these texture formats enable us to shuffle the data to the GPU, they're rather impractical with the requirements mentioned above and our current architecture. One problem is that most code assumes it can always use bilinear scaling (even if bilinear is never used when using appropriate scale/cscale options). Another is that we don't have any concept of running a function on a texture in an uniform way. So for now, run a simple conversion step through a FBO. The FBO will use the rgba16f format normally, which gives enough bits for 10 bit, and will at least gracefully degrade with higher depth input. This is bound to be much slower than a more "direct" method, but at least it works and is simple to implement. The odd change of function call order in init_video() is to properly disable "dumb mode" (no FBO use) if these texture formats are in use. --- DOCS/man/vo.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'DOCS/man') diff --git a/DOCS/man/vo.rst b/DOCS/man/vo.rst index 69c554fa16..0725cf19e6 100644 --- a/DOCS/man/vo.rst +++ b/DOCS/man/vo.rst @@ -804,7 +804,7 @@ Available video output drivers are: angle Direct3D11 through the OpenGL ES translation layer ANGLE. This supports almost everything the ``win`` backend does, except ICC - profiles, high bit depth video input, and the ``nnedi3`` prescaler. + profiles, and the ``nnedi3`` prescaler. dxinterop (experimental) Win32, using WGL for rendering and Direct3D 9Ex for presentation. Works on Nvidia and AMD only. -- cgit v1.2.3