summaryrefslogtreecommitdiffstats
path: root/libvo/gl_common.h
diff options
context:
space:
mode:
authorwm4 <wm4@mplayer2.org>2011-10-29 19:38:33 +0200
committerwm4 <wm4@mplayer2.org>2011-12-25 20:42:58 +0100
commitadc85b0031867bfc2296f2749e8544e8147b5b60 (patch)
tree019fa759b181cae644e27fda1973c2b317e9faa4 /libvo/gl_common.h
parent4010dd0b1a27e399606299b428d1f9bc645cf8fd (diff)
downloadmpv-adc85b0031867bfc2296f2749e8544e8147b5b60.tar.bz2
mpv-adc85b0031867bfc2296f2749e8544e8147b5b60.tar.xz
vo_gl: use generic eosd code
This is an experiment. The change probably doesn't matter much. One issue with the old code was that "large" images caused each sub-image to be created and rendered as a new texture. "Large" in this case means larger than 32x32 pixels, which actually isn't very large with screen sizes beyond 1500x1000 pixels. This means rendering a simple subtitle for a fullscreened video may allocate many small textures, one for each glyph. On the other hand, the old code could be fixed by tuning the texture sizes for "modern" work loads. Also, the new code uses less deprecated OpenGL features and draws all sub-images in one batch. There are two possible issues the new code could cause: - Drivers could have performance issues with the larger texture sizes and the number of glTexSubImage2D calls on it - There is only one EOSD texture, which could become full (it's enlarged on demand, but restricted by driver texture size limitations) It has been reported that this is faster on OSX with ATI GPUs than the old code.
Diffstat (limited to 'libvo/gl_common.h')
-rw-r--r--libvo/gl_common.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/libvo/gl_common.h b/libvo/gl_common.h
index 8e3294f441..5a0fd9b8a8 100644
--- a/libvo/gl_common.h
+++ b/libvo/gl_common.h
@@ -463,6 +463,13 @@ struct GL {
void (GLAPIENTRY *ReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum,
GLenum, GLvoid *);
void (GLAPIENTRY *ReadBuffer)(GLenum);
+ void (GLAPIENTRY *VertexPointer)(GLint, GLenum, GLsizei, const GLvoid *);
+ void (GLAPIENTRY *ColorPointer)(GLint, GLenum, GLsizei, const GLvoid *);
+ void (GLAPIENTRY *TexCoordPointer)(GLint, GLenum, GLsizei, const GLvoid *);
+ void (GLAPIENTRY *DrawArrays)(GLenum, GLint, GLsizei);
+ void (GLAPIENTRY *EnableClientState)(GLenum);
+ void (GLAPIENTRY *DisableClientState)(GLenum);
+
// OpenGL extension functions
void (GLAPIENTRY *GenBuffers)(GLsizei, GLuint *);