<div dir="ltr">On 19 December 2012 16:36, Ian Romanick <span dir="ltr"><<a href="mailto:idr@freedesktop.org" target="_blank">idr@freedesktop.org</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 12/19/2012 01:07 PM, Paul Berry wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Previously, Mesa code assumed that glReadBuffer(GL_NONE) was only<br>
valid for user-created framebuffer objects.  However, the spec is<br>
quite clear that is should also be valid for the default framebuffer.<br>
 From section 18.2.1 ("Obtaining Pixels from the Framebuffer") of the<br>
GL 4.3 spec:<br>
<br>
     "When READ_FRAMEBUFFER_BINDING is zero, i.e. the default<br>
     framebuffer, src must be one of the values listed in table 17.4,<br>
     including NONE."<br>
<br>
Similar language exists in the GLES 3.0 spec, and in desktop GL all<br>
the way back to ARB_framebuffer_object.<br>
<br>
Partially fixes GLES3 conformance test "CoverageES30.test".<br>
</blockquote>
<br></div>
Reviewed-by: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com" target="_blank">ian.d.romanick@intel.com</a>><br>
<br>
Candidate for stable branches?</blockquote><div><br></div><div>Yes, good point.  I'll add that annotation before I push it.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
---<br>
  src/mesa/main/buffers.c | 4 ++--<br>
  1 file changed, 2 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c<br>
index 76f0d46..d10a573 100644<br>
--- a/src/mesa/main/buffers.c<br>
+++ b/src/mesa/main/buffers.c<br>
@@ -532,8 +532,8 @@ _mesa_ReadBuffer(GLenum buffer)<br>
     if (MESA_VERBOSE & VERBOSE_API)<br>
        _mesa_debug(ctx, "glReadBuffer %s\n", _mesa_lookup_enum_by_nr(<u></u>buffer));<br>
<br>
-   if (_mesa_is_user_fbo(fb) && buffer == GL_NONE) {<br>
-      /* This is legal for user-created framebuffer objects */<br>
+   if (buffer == GL_NONE) {<br>
+      /* This is legal--it means that no buffer should be bound for reading. */<br>
        srcBuffer = -1;<br>
     }<br>
     else {<br>
<br>
</blockquote>
<br>
</div></div></blockquote></div><br></div></div>