From 496928a442cec980b534bc5da2523b3632b21b61 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Mon, 11 Feb 2013 15:22:10 -0800 Subject: [PATCH] CopyTexImage: Don't check sRGB vs LINEAR for desktop GL In OpenGL 4.3, new language was added that would require this check. But, if this check results in broken applications then perhaps it will be reversed. For now, remove this check and re-evaluate when desktop GL 4.3 is closer. NOTE: This is a candidate for the 9.1 branch. Signed-off-by: Jordan Justen Reviewed-by: Anuj Phogat --- src/mesa/main/teximage.c | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 9283ece..f8f517a 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2454,9 +2454,7 @@ copytexture_error_check( struct gl_context *ctx, GLuint dimensions, } } - if ((_mesa_is_desktop_gl(ctx) && - ctx->Extensions.ARB_framebuffer_object) || - _mesa_is_gles3(ctx)) { + if (_mesa_is_gles3(ctx)) { bool rb_is_srgb = false; bool dst_is_srgb = false; @@ -2470,22 +2468,16 @@ copytexture_error_check( struct gl_context *ctx, GLuint dimensions, } if (rb_is_srgb != dst_is_srgb) { - /* Page 190 (page 211 of the PDF) in section 8.6 of the OpenGL 4.3 - * Core Profile spec says: - * - * "An INVALID_OPERATION error is generated under any of the - * following conditions: - * - * ... + /* Page 137 (page 149 of the PDF) in section 3.8.5 of the + * OpenGLES 3.0.0 spec says: * - * - if the value of FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING - * for the framebuffer attachment corresponding to the read - * buffer is LINEAR (see section 9.2.3) and internalformat - * is one of the sRGB formats in table 8.23 - * - if the value of FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING - * for the framebuffer attachment corresponding to the read - * buffer is SRGB and internalformat is not one of the sRGB - * formats. in table 8.23." + * "The error INVALID_OPERATION is also generated if the + * value of FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING for the + * framebuffer attachment corresponding to the read buffer + * is LINEAR (see section 6.1.13) and internalformat is + * one of the sRGB formats described in section 3.8.16, or + * if the value of FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING is + * SRGB and internalformat is not one of the sRGB formats." */ _mesa_error(ctx, GL_INVALID_OPERATION, "glCopyTexImage%dD(srgb usage mismatch)", dimensions); -- 2.7.4