From d56e4e5d9f0747b73caff8c9bcf74f32703c97d8 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sun, 22 Jul 2007 18:43:55 +0000 Subject: [PATCH] make error on old AMD drivers non-fatal --- stepmania/src/RageDisplay_OGL.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/stepmania/src/RageDisplay_OGL.cpp b/stepmania/src/RageDisplay_OGL.cpp index 98ffbc2882..1da8975f65 100644 --- a/stepmania/src/RageDisplay_OGL.cpp +++ b/stepmania/src/RageDisplay_OGL.cpp @@ -404,8 +404,21 @@ void InitShaders() } else { - GLExt.glVertexAttrib2fARB( g_iAttribTextureMatrixScale, 1, 1 ); AssertNoGLError(); + + /* Older Catalyst drivers seem to throw GL_INVALID_OPERATION here. */ + GLExt.glVertexAttrib2fARB( g_iAttribTextureMatrixScale, 1, 1 ); + GLenum iError = glGetError(); + if( iError == GL_INVALID_OPERATION ) + { + LOG->Trace( "Scaling shader failed: glVertexAttrib2fARB returned GL_INVALID_OPERATION" ); + GLExt.glDeleteObjectARB( g_bTextureMatrixShader ); + g_bTextureMatrixShader = 0; + } + else + { + ASSERT_M( iError == GL_NO_ERROR, GLToString(iError) ); + } } } }