Mesa (7.11): mesa: Don't error on glFeedbackBuffer(size = 0, buffer = NULL)

Ian Romanick idr at kemper.freedesktop.org
Tue Oct 25 18:42:10 PDT 2011


Module: Mesa
Branch: 7.11
Commit: 242a18dc46f1a81b701408289a87e34b1deb8599
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=242a18dc46f1a81b701408289a87e34b1deb8599

Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jun 28 16:39:15 2011 -0700

mesa: Don't error on glFeedbackBuffer(size = 0, buffer = NULL)

The existing error result doesn't appear in the GL 2.1 or 3.2
compatibility specs, and triggers an unexpected GL error in Intel's
oglconform when it tries to reset the feedback state after usage so
that the "diff the state at error time vs. context init time" code
doesn't generate spurious diffs.  The unexpected GL error then
translates into testcase failure.  Brian wants the safety check on
buffer = NULL, though, so that people can't as easily set up a broken
buffer.
(cherry picked from commit 07e5295b6fe77253ea38dbc0d649b20e7275373a)

---

 src/mesa/main/feedback.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/main/feedback.c b/src/mesa/main/feedback.c
index f9c4b5f..d73aa08 100644
--- a/src/mesa/main/feedback.c
+++ b/src/mesa/main/feedback.c
@@ -64,7 +64,7 @@ _mesa_FeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer )
       _mesa_error( ctx, GL_INVALID_VALUE, "glFeedbackBuffer(size<0)" );
       return;
    }
-   if (!buffer) {
+   if (!buffer && size > 0) {
       _mesa_error( ctx, GL_INVALID_VALUE, "glFeedbackBuffer(buffer==NULL)" );
       ctx->Feedback.BufferSize = 0;
       return;



More information about the mesa-commit mailing list