summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/common.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-05-12 20:08:49 +0200
committerwm4 <wm4@nowhere>2016-05-12 21:22:28 +0200
commit84ccebd9b9fba47f1e08bbc263b87174a133ea01 (patch)
tree20c5f5ab35f4144d3b6b6addaf700fc3b0cc7124 /video/out/opengl/common.h
parente68b510a942f033c629856a36df341e05aa44e50 (diff)
downloadmpv-84ccebd9b9fba47f1e08bbc263b87174a133ea01.tar.bz2
mpv-84ccebd9b9fba47f1e08bbc263b87174a133ea01.tar.xz
vo_opengl: reorganize texture format handling
This merges all knowledge about texture format into a central table. Most of the work done here is actually identifying which formats exactly are supported by OpenGL(ES) under which circumstances, and keeping this information in the format table in a somewhat declarative way. (Although only to the extend needed by mpv.) In particular, ES and float formats are a horrible mess. Again this is a big refactor that might cause regression on "obscure" configurations.
Diffstat (limited to 'video/out/opengl/common.h')
-rw-r--r--video/out/opengl/common.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/video/out/opengl/common.h b/video/out/opengl/common.h
index cc6f7b6459..4f21e25455 100644
--- a/video/out/opengl/common.h
+++ b/video/out/opengl/common.h
@@ -53,7 +53,6 @@ enum {
MPGL_CAP_ROW_LENGTH = (1 << 4), // GL_[UN]PACK_ROW_LENGTH
MPGL_CAP_FB = (1 << 5),
MPGL_CAP_VAO = (1 << 6),
- MPGL_CAP_FLOAT_TEX = (1 << 9),
MPGL_CAP_TEX_RG = (1 << 10), // GL_ARB_texture_rg / GL 3.x
MPGL_CAP_VDPAU = (1 << 11), // GL_NV_vdpau_interop
MPGL_CAP_APPLE_RGB_422 = (1 << 12), // GL_APPLE_rgb_422
@@ -62,6 +61,10 @@ enum {
MPGL_CAP_DEBUG = (1 << 16),
MPGL_CAP_DXINTEROP = (1 << 17), // WGL_NV_DX_interop
MPGL_CAP_EXT16 = (1 << 18), // GL_EXT_texture_norm16
+ MPGL_CAP_ARB_FLOAT = (1 << 19), // GL_ARB_texture_float
+ MPGL_CAP_EXT_CR_HFLOAT = (1 << 20), // GL_EXT_color_buffer_half_float
+ MPGL_CAP_OES_HFLOAT_LIN = (1 << 21), // GL_OES_texture_half_float_linear
+
MPGL_CAP_SW = (1 << 30), // indirect or sw renderer
};