vo_opengl: require at least ES 3.0 for float textures

ES 2.0 has this weird rule that not the internalformat parameter
determines the internal format, but the combination of all texture
parameters. GL_OES_texture_half_float thus does not specify e.g. a
GL_RGBA16F format, but requires passing GL_RGBA as format and
GL_HALF_FLOAT_OES as type. We won't bother with this, since ES 2.0 is a
lost cause anyway.

This also removes the OpenGL error when the code is trying to create a
f16 FBO for testing whether FBOs work.
This commit is contained in:
wm4 2016-05-19 17:52:09 +02:00
parent 561630cb01
commit 05b3a8cd14
1 changed files with 1 additions and 1 deletions

View File

@ -115,7 +115,7 @@ int gl_format_feature_flags(GL *gl)
| (gl->es >= 300 ? F_ES3 : 0)
| (gl->es >= 320 ? F_ES32 : 0)
| (gl->mpgl_caps & MPGL_CAP_EXT16 ? F_EXT16 : 0)
| ((gl->es &&
| ((gl->es >= 300 &&
(gl->mpgl_caps & MPGL_CAP_TEX_RG) &&
(gl->mpgl_caps & MPGL_CAP_EXT_CR_HFLOAT) &&
(gl->mpgl_caps & MPGL_CAP_OES_HFLOAT_LIN)) ? F_EXTF16 : 0)