# HG changeset patch # User reimar # Date 1270410986 0 # Node ID 9d024ceb45e3aa745b3d562ad8eb9f1b61663d5e # Parent 600d1bbaf62b2c1d729257e7f6c04b544edbfa00 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 diff -r 600d1bbaf62b -r 9d024ceb45e3 libvo/vo_gl2.c --- 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 ",