fix more GL_NO_ERROR problems
This commit is contained in:
@@ -223,6 +223,15 @@ void GetGLExtensions(set<string> &ext)
|
|||||||
ext.insert(lst[i]);
|
ext.insert(lst[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void FlushGLErrors()
|
||||||
|
{
|
||||||
|
/* Making an OpenGL call doesn't also flush the error state; if we happen
|
||||||
|
* to have an error from a previous call, then the assert below will fail.
|
||||||
|
* Flush it. */
|
||||||
|
while( glGetError() != GL_NO_ERROR )
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
RageDisplay_OGL::RageDisplay_OGL( VideoModeParams p )
|
RageDisplay_OGL::RageDisplay_OGL( VideoModeParams p )
|
||||||
{
|
{
|
||||||
LOG->Trace( "RageDisplay_OGL::RageDisplay_OGL()" );
|
LOG->Trace( "RageDisplay_OGL::RageDisplay_OGL()" );
|
||||||
@@ -286,6 +295,7 @@ static void CheckPalettedTextures()
|
|||||||
GLenum glImageFormat = GL_PIXFMT_INFO[FMT_PAL].format;
|
GLenum glImageFormat = GL_PIXFMT_INFO[FMT_PAL].format;
|
||||||
GLenum glImageType = GL_PIXFMT_INFO[FMT_PAL].type;
|
GLenum glImageType = GL_PIXFMT_INFO[FMT_PAL].type;
|
||||||
|
|
||||||
|
FlushGLErrors();
|
||||||
glTexImage2D(GL_PROXY_TEXTURE_2D,
|
glTexImage2D(GL_PROXY_TEXTURE_2D,
|
||||||
0, glTexFormat,
|
0, glTexFormat,
|
||||||
16, 16, 0,
|
16, 16, 0,
|
||||||
@@ -870,6 +880,8 @@ const PixelFormatDesc *RageDisplay_OGL::GetPixelFormatDesc(PixelFormat pf) const
|
|||||||
void RageDisplay_OGL::DeleteTexture( unsigned uTexHandle )
|
void RageDisplay_OGL::DeleteTexture( unsigned uTexHandle )
|
||||||
{
|
{
|
||||||
unsigned int uTexID = uTexHandle;
|
unsigned int uTexID = uTexHandle;
|
||||||
|
|
||||||
|
FlushGLErrors();
|
||||||
glDeleteTextures(1,reinterpret_cast<GLuint*>(&uTexID));
|
glDeleteTextures(1,reinterpret_cast<GLuint*>(&uTexID));
|
||||||
|
|
||||||
GLenum error = glGetError();
|
GLenum error = glGetError();
|
||||||
@@ -947,11 +959,7 @@ unsigned RageDisplay_OGL::CreateTexture(
|
|||||||
GLenum glImageFormat = GL_PIXFMT_INFO[pixfmt].format;
|
GLenum glImageFormat = GL_PIXFMT_INFO[pixfmt].format;
|
||||||
GLenum glImageType = GL_PIXFMT_INFO[pixfmt].type;
|
GLenum glImageType = GL_PIXFMT_INFO[pixfmt].type;
|
||||||
|
|
||||||
/* Making an OpenGL call doesn't also flush the error state; if we happen
|
FlushGLErrors();
|
||||||
* to have an error from a previous call, then the assert below will fail.
|
|
||||||
* Flush it. */
|
|
||||||
while( glGetError() != GL_NO_ERROR )
|
|
||||||
;
|
|
||||||
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, glTexFormat,
|
glTexImage2D(GL_TEXTURE_2D, 0, glTexFormat,
|
||||||
img->w, img->h, 0,
|
img->w, img->h, 0,
|
||||||
|
|||||||
Reference in New Issue
Block a user