diff options
author | wm4 <wm4@nowhere> | 2017-02-17 15:46:11 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-02-17 16:28:31 +0100 |
commit | 9c54b224d8cdf05dcb1df73b6e8af1c868eca053 (patch) | |
tree | a6ca4c84a7a11af899b05e888d11cc1da18e3efb /video/out/opengl/formats.h | |
parent | b5eb326dcb88a309f3b89dc7309f226f2488eb63 (diff) | |
download | mpv-9c54b224d8cdf05dcb1df73b6e8af1c868eca053.tar.bz2 mpv-9c54b224d8cdf05dcb1df73b6e8af1c868eca053.tar.xz |
vo_opengl: handle GL_LUMINANCE_ALPHA and integer textures differently
GL_LUMINANCE_ALPHA is the only reason why per-plane swizzles exist.
Remove per-plane swizzles (again), and regrettably handle them as
special cases (again). Carry along the logical texture format (called
gl_format in some parts of the code, including the new one).
We also don't need a use_integer flag, since the new gl_format member
implies whether it's an integer texture. (Yes, the there are separate
logical GL formats for integer textures. This aspect of the OpenGL API
is hysteric at best.)
This should change nothing about actual rendering logic and GL API
usage.
Diffstat (limited to 'video/out/opengl/formats.h')
-rw-r--r-- | video/out/opengl/formats.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/video/out/opengl/formats.h b/video/out/opengl/formats.h index 6ced4a7676..ebf3f3b331 100644 --- a/video/out/opengl/formats.h +++ b/video/out/opengl/formats.h @@ -52,6 +52,7 @@ const struct gl_format *gl_find_uint_format(GL *gl, int bytes_per_component, const struct gl_format *gl_find_float16_format(GL *gl, int n_components); int gl_format_type(const struct gl_format *format); GLenum gl_integer_format_to_base(GLenum format); +bool gl_is_integer_format(GLenum format); int gl_component_size(GLenum type); int gl_format_components(GLenum format); int gl_bytes_per_pixel(GLenum format, GLenum type); |