[Mesa-dev] [PATCH] mesa: Allow glReadBuffer(GL_NONE) for winsys framebuffers.
Ian Romanick
idr at freedesktop.org
Wed Dec 19 16:36:27 PST 2012
On 12/19/2012 01:07 PM, Paul Berry wrote:
> Previously, Mesa code assumed that glReadBuffer(GL_NONE) was only
> valid for user-created framebuffer objects. However, the spec is
> quite clear that is should also be valid for the default framebuffer.
> From section 18.2.1 ("Obtaining Pixels from the Framebuffer") of the
> GL 4.3 spec:
>
> "When READ_FRAMEBUFFER_BINDING is zero, i.e. the default
> framebuffer, src must be one of the values listed in table 17.4,
> including NONE."
>
> Similar language exists in the GLES 3.0 spec, and in desktop GL all
> the way back to ARB_framebuffer_object.
>
> Partially fixes GLES3 conformance test "CoverageES30.test".
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Candidate for stable branches?
> ---
> src/mesa/main/buffers.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c
> index 76f0d46..d10a573 100644
> --- a/src/mesa/main/buffers.c
> +++ b/src/mesa/main/buffers.c
> @@ -532,8 +532,8 @@ _mesa_ReadBuffer(GLenum buffer)
> if (MESA_VERBOSE & VERBOSE_API)
> _mesa_debug(ctx, "glReadBuffer %s\n", _mesa_lookup_enum_by_nr(buffer));
>
> - if (_mesa_is_user_fbo(fb) && buffer == GL_NONE) {
> - /* This is legal for user-created framebuffer objects */
> + if (buffer == GL_NONE) {
> + /* This is legal--it means that no buffer should be bound for reading. */
> srcBuffer = -1;
> }
> else {
>
More information about the mesa-dev
mailing list