[Mesa-dev] [PATCH v2 06/14] meta: Don't do fragment color clamping in _mesa_meta_pbo_GetTexSubImage

Iago Toral itoral at igalia.com
Wed Jul 22 22:51:05 PDT 2015


Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>

On Wed, 2015-07-22 at 11:54 -0700, Anuj Phogat wrote:
> _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: <mesa-stable at lists.freedesktop.org>
> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
> ---
>  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 6d7c1eb..038d525 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 <jason.ekstrand at intel.com>
>   */
>  
> +#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) {




More information about the mesa-dev mailing list