Mercurial > mplayer.hg
changeset 30971:9d024ceb45e3
Check texture dimensions instead of internal format in max texture
size check to work around OS X ATI driver bugs:
- does not keep format but use an equivalent one (1 becomes 0x8040).
- does not set to 0 on failure but to 0x8018
author | reimar |
---|---|
date | Sun, 04 Apr 2010 19:56:26 +0000 |
parents | 600d1bbaf62b |
children | 886527159cae |
files | libvo/vo_gl2.c |
diffstat | 1 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/libvo/vo_gl2.c Sun Apr 04 19:44:03 2010 +0000 +++ b/libvo/vo_gl2.c Sun Apr 04 19:56:26 2010 +0000 @@ -172,7 +172,6 @@ GLfloat texpercx, texpercy; int s; int x=0, y=0; - GLint format=0; // textures smaller than 64x64 might not be supported s=64; @@ -190,15 +189,16 @@ /* Test the max texture size */ do { + GLint w; glTexImage2D (GL_PROXY_TEXTURE_2D, 0, gl_internal_format, texture_width, texture_height, 0, gl_bitmap_format, gl_bitmap_type, NULL); glGetTexLevelParameteriv - (GL_PROXY_TEXTURE_2D, 0, GL_TEXTURE_INTERNAL_FORMAT, &format); + (GL_PROXY_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &w); - if (format == gl_internal_format) + if (w >= texture_width) break; mp_msg (MSGT_VO, MSGL_V, "[gl2] Needed texture [%dx%d] too big, trying ",