diff options
author | Brian Paul <[email protected]> | 2010-01-26 13:23:25 -0700 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-01-26 13:25:53 -0700 |
commit | 43867acb6afc7fad26cdc2f22b2a3bb6eeefb2da (patch) | |
tree | 4fdb4589a9820b78e79c5192778ed81f9e04855c /src/mesa/main | |
parent | 06d228d8b92b7f4031f0596d498c24c4ed952e68 (diff) | |
parent | 68ca19afd7299fa9c686f95d53b7e14df37aba4c (diff) |
Merge branch 'mesa_7_7_branch'
Merging was easier than cherry picking in this instance.
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/fbobject.c | 27 | ||||
-rw-r--r-- | src/mesa/main/state.c | 6 |
2 files changed, 19 insertions, 14 deletions
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 0556f168501..de1b524c0b5 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -1353,15 +1353,26 @@ _mesa_DeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers) ASSERT(fb == &DummyFramebuffer || fb->Name == framebuffers[i]); /* check if deleting currently bound framebuffer object */ - if (fb == ctx->DrawBuffer) { - /* bind default */ - ASSERT(fb->RefCount >= 2); - _mesa_BindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, 0); + if (ctx->Extensions.EXT_framebuffer_blit) { + /* separate draw/read binding points */ + if (fb == ctx->DrawBuffer) { + /* bind default */ + ASSERT(fb->RefCount >= 2); + _mesa_BindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, 0); + } + if (fb == ctx->ReadBuffer) { + /* bind default */ + ASSERT(fb->RefCount >= 2); + _mesa_BindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, 0); + } } - if (fb == ctx->ReadBuffer) { - /* bind default */ - ASSERT(fb->RefCount >= 2); - _mesa_BindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, 0); + else { + /* only one binding point for read/draw buffers */ + if (fb == ctx->DrawBuffer || fb == ctx->ReadBuffer) { + /* bind default */ + ASSERT(fb->RefCount >= 2); + _mesa_BindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + } } /* remove from hash table immediately, to free the ID */ diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index 904ad012052..5e07d1d2f15 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -82,12 +82,6 @@ compute_max_element(struct gl_client_array *array) } else { array->_MaxElement = 0; } - /* Compute the max element we can access in the VBO without going - * out of bounds. - */ - array->_MaxElement = ((GLsizeiptrARB) array->BufferObj->Size - - (GLsizeiptrARB) array->Ptr + array->StrideB - - array->_ElementSize) / array->StrideB; } else { /* user-space array, no idea how big it is */ |