From ca4e17e03e9aeaa04fe6bb04bfe2d6f97991005b Mon Sep 17 00:00:00 2001 From: Anuj Phogat Date: Wed, 6 May 2015 05:43:08 -0700 Subject: [PATCH] meta: Don't do fragment color clamping in _mesa_meta_pbo_GetTexSubImage _mesa_meta_pbo_GetTexSubImage() uses _mesa_meta_BlitFrameBuffer(), which will do fragment clamping if enabled. But fragment clamping doesn't affect ReadPixels and GetTexImage. Without this patch, piglit test arb_color_buffer_float-clear fails, when forced to use the meta pbo path. v2: Apply this fix to both glReadPixels and glGetTexImage. Cc: Signed-off-by: Anuj Phogat Reviewed-by: Iago Toral Quiroga --- src/mesa/drivers/common/meta_tex_subimage.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mesa/drivers/common/meta_tex_subimage.c b/src/mesa/drivers/common/meta_tex_subimage.c index 6d7c1eb65b7..038d5259b3f 100644 --- a/src/mesa/drivers/common/meta_tex_subimage.c +++ b/src/mesa/drivers/common/meta_tex_subimage.c @@ -25,6 +25,7 @@ * Jason Ekstrand */ +#include "blend.h" #include "bufferobj.h" #include "buffers.h" #include "fbobject.h" @@ -331,6 +332,10 @@ _mesa_meta_pbo_GetTexSubImage(struct gl_context *ctx, GLuint dims, _mesa_meta_begin(ctx, ~(MESA_META_PIXEL_TRANSFER | MESA_META_PIXEL_STORE)); + /* GL_CLAMP_FRAGMENT_COLOR doesn't affect ReadPixels and GettexImage */ + if (ctx->Extensions.ARB_color_buffer_float) + _mesa_ClampColor(GL_CLAMP_FRAGMENT_COLOR, GL_FALSE); + _mesa_GenFramebuffers(2, fbos); if (tex_image && tex_image->TexObject->Target == GL_TEXTURE_1D_ARRAY) { -- 2.30.2