diff options
author | wm4 <wm4@mplayer2.org> | 2011-10-29 19:38:33 +0200 |
---|---|---|
committer | wm4 <wm4@mplayer2.org> | 2011-12-25 20:42:58 +0100 |
commit | adc85b0031867bfc2296f2749e8544e8147b5b60 (patch) | |
tree | 019fa759b181cae644e27fda1973c2b317e9faa4 /libvo/gl_common.c | |
parent | 4010dd0b1a27e399606299b428d1f9bc645cf8fd (diff) | |
download | mpv-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.c')
-rw-r--r-- | libvo/gl_common.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libvo/gl_common.c b/libvo/gl_common.c index 7cca800d40..aa34521802 100644 --- a/libvo/gl_common.c +++ b/libvo/gl_common.c @@ -360,6 +360,12 @@ static const extfunc_desc_t extfuncs[] = { DEF_FUNC_DESC(ColorMask), DEF_FUNC_DESC(ReadPixels), DEF_FUNC_DESC(ReadBuffer), + DEF_FUNC_DESC(VertexPointer), + DEF_FUNC_DESC(ColorPointer), + DEF_FUNC_DESC(TexCoordPointer), + DEF_FUNC_DESC(DrawArrays), + DEF_FUNC_DESC(EnableClientState), + DEF_FUNC_DESC(DisableClientState), DEF_EXT_DESC(GenBuffers, NULL, ("glGenBuffers", "glGenBuffersARB")), |