summaryrefslogtreecommitdiffstats
path: root/DOCS/man/vo.rst
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-09-07 21:09:06 +0200
committerwm4 <wm4@nowhere>2015-09-07 21:18:30 +0200
commit0eb72d786c2c39e6c53b4f065912e433639b0fb9 (patch)
tree309b4241dec94d12d725b108ecb4a52dc251ef15 /DOCS/man/vo.rst
parent8a9c9e0ede8a39fd7d9bbef5cc5d6b2e166b7366 (diff)
downloadmpv-0eb72d786c2c39e6c53b4f065912e433639b0fb9.tar.bz2
mpv-0eb72d786c2c39e6c53b4f065912e433639b0fb9.tar.xz
vo_opengl: restore single pass optimization as separate code path
The single path optimization, rendering the video in one shader pass and without FBO indirections, was removed soem commits ago. It didn't have a place in this code, and caused considerable complexity and maintenance issues. On the other hand, it still has some worth, such as for use with extremely crappy hardware (GLES only or OpenGL 2.1 without FBO extension). Ideally, these use cases would be handled by a separate VO (say, vo_gles). While cleaner, this would still cause code duplication and other complexity. The third option is making the single-pass optimization a completely separate code path, with most vo_opengl features disabled. While this does duplicate some functionality (such as "unpacking" the video data from textures), it's also relatively unintrusive, and the high quality code path doesn't need to take it into account at all. On another positive node, this "dumb-mode" could be forced in other cases where OpenGL 2.1 is not enough, and where we don't want to care about versions this old.
Diffstat (limited to 'DOCS/man/vo.rst')
-rw-r--r--DOCS/man/vo.rst15
1 files changed, 14 insertions, 1 deletions
diff --git a/DOCS/man/vo.rst b/DOCS/man/vo.rst
index 2334535998..82a52b0297 100644
--- a/DOCS/man/vo.rst
+++ b/DOCS/man/vo.rst
@@ -295,7 +295,20 @@ Available video output drivers are:
``rgb16f``, ``rgb32f`` or ``rgb``. Known problems include Mesa/Intel not
accepting ``rgb16``, Mesa sometimes not being compiled with float texture
support, and some OS X setups being very slow with ``rgb16`` but fast
- with ``rgb32f``.
+ with ``rgb32f``. If you have problems, you can also try passing the
+ ``dumb-mode=yes`` sub-option.
+
+ ``dumb-mode=<yes|no>``
+ This mode is extremely restricted, and will disable most extended
+ OpenGL features. This includes high quality scalers and custom
+ shaders!
+
+ It is intended for hardware that does not support FBOs (including GLES,
+ which supports it insufficiently), or to get some more performance out
+ of bad or old hardware.
+
+ This mode is forced automatically if needed, and this option is mostly
+ useful for debugging.
``scale=<filter>``