[Mesa-stable] [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-stable
mailing list