mirror of
https://github.com/love2d/love.git
synced 2026-08-12 08:30:56 +02:00
Merge error message changes
This commit is contained in:
@@ -297,6 +297,7 @@ namespace opengl
|
||||
int width, height;
|
||||
width = luaL_checkint(L, 1);
|
||||
height = luaL_checkint(L, 2);
|
||||
glGetError(); // clear opengl error flag
|
||||
Framebuffer * framebuffer = instance->newFramebuffer(width, height);
|
||||
|
||||
//and there we go with the status... still disliked
|
||||
@@ -306,14 +307,25 @@ namespace opengl
|
||||
return luaL_error(L, "Cannot create Framebuffer: "
|
||||
"Not supported by your OpenGL implementation");
|
||||
// remaining error codes are highly unlikely:
|
||||
// GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
|
||||
// GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
|
||||
// GL_FRAMEBUFFER_UNDEFINED
|
||||
// GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
|
||||
// GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER
|
||||
// GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
|
||||
case GL_FRAMEBUFFER_UNDEFINED:
|
||||
case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
|
||||
case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
|
||||
case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER:
|
||||
case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER:
|
||||
case GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:
|
||||
return luaL_error(L, "Cannot create Framebuffer: "
|
||||
"Error in implementation (please inform the love devs)");
|
||||
default:
|
||||
return luaL_error(L, "Cannot create Framebuffer: Aliens did it");
|
||||
// my intel hda card wrongly returns 0 to glCheckFramebufferStatus() but sets
|
||||
// no error flag. I think it meant to return GL_FRAMEBUFFER_UNSUPPORTED, but who
|
||||
// knows.
|
||||
if (glGetError() == GL_NO_ERROR)
|
||||
return luaL_error(L, "Cannot create Framebuffer: "
|
||||
"May not be supported by your OpenGL implementation.");
|
||||
// the remaining error is an indication of a serious fuckup since it should
|
||||
// only be returned if glCheckFramebufferStatus() was called with the wrong
|
||||
// arguments.
|
||||
return luaL_error(L, "Cannot create Framebuffer: Aliens did it (OpenGL error code: %d)", glGetError());
|
||||
}
|
||||
}
|
||||
luax_newtype(L, "Framebuffer", GRAPHICS_FRAMEBUFFER_T, (void*)framebuffer);
|
||||
|
||||
Reference in New Issue
Block a user