diff options
author | wm4 <wm4@nowhere> | 2015-09-07 21:09:06 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-09-07 21:18:30 +0200 |
commit | 0eb72d786c2c39e6c53b4f065912e433639b0fb9 (patch) | |
tree | 309b4241dec94d12d725b108ecb4a52dc251ef15 /DOCS | |
parent | 8a9c9e0ede8a39fd7d9bbef5cc5d6b2e166b7366 (diff) | |
download | mpv-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')
-rw-r--r-- | DOCS/man/vo.rst | 15 |
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>`` |