On Tue, 2015-06-16 at 11:15 -0700, Anuj Phogat wrote:
> Without this patch, piglit test arb_color_buffer_float-readpixels
> fails, when forced to use the meta pbo path.
> 
> Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com>
> Cc: <mesa-sta...@lists.freedesktop.org>
> ---
>  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 84cbc50..ccb7dfb 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.ekstr...@intel.com>
>   */
>  
> +#include "blend.h"
>  #include "bufferobj.h"
>  #include "buffers.h"
>  #include "fbobject.h"
> @@ -305,6 +306,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. */
> +   if (!tex_image && ctx->Extensions.ARB_color_buffer_float)
> +      _mesa_ClampColor(GL_CLAMP_FRAGMENT_COLOR, GL_FALSE);
> +

I think you need to restore the original value of
GL_CLAMP_FRAGMENT_COLOR after you are done with ReadPixels,  otherwise
it looks like you would be changing the setting for future API calls
too.

Also, does this only apply to ReadPixels and not to GetTexImage? That
looks odd to me.

Iago

>     _mesa_GenFramebuffers(2, fbos);
>  
>     if (tex_image && tex_image->TexObject->Target == GL_TEXTURE_1D_ARRAY) {


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to