mesa: new vars: oldDrawFb, oldReadFb in _mesa_BindFramebufferEXT()

This commit is contained in:
brian
2009-11-10 15:50:22 -07:00
parent e6f60d3037
commit d96e55fa7b
+7 -3
View File
@@ -1194,6 +1194,7 @@ void GLAPIENTRY
_mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer)
{
struct gl_framebuffer *newDrawFb, *newReadFb;
struct gl_framebuffer *oldDrawFb, *oldReadFb;
GLboolean bindReadBuf, bindDrawBuf;
GET_CURRENT_CONTEXT(ctx);
@@ -1275,11 +1276,14 @@ _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer)
ASSERT(newDrawFb);
ASSERT(newDrawFb != &DummyFramebuffer);
oldDrawFb = ctx->DrawBuffer;
oldReadFb = ctx->ReadBuffer;
/*
* OK, now bind the new Draw/Read framebuffers, if they're changing.
*/
if (bindReadBuf) {
if (ctx->ReadBuffer == newReadFb) {
if (oldReadFb == newReadFb) {
bindReadBuf = GL_FALSE; /* no change */
}
else {
@@ -1289,11 +1293,11 @@ _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer)
}
if (bindDrawBuf) {
if (ctx->DrawBuffer->Name != 0) {
if (oldDrawFb->Name != 0) {
check_end_texture_render(ctx, ctx->DrawBuffer);
}
if (ctx->DrawBuffer == newDrawFb) {
if (oldDrawFb == newDrawFb) {
bindDrawBuf = GL_FALSE; /* no change */
}
else {