From 0eb72d786c2c39e6c53b4f065912e433639b0fb9 Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 7 Sep 2015 21:09:06 +0200 Subject: 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. --- DOCS/man/vo.rst | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'DOCS/man/vo.rst') 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=`` + 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=`` -- cgit v1.2.3