[Mesa-stable] [Mesa-dev] [PATCH] nvc0: fix blitting red to srgb8_alpha

Karol Herbst kherbst at redhat.com
Tue Oct 9 08:46:39 UTC 2018


but this movs all single color blits to the 3d blitter, right?
On Sun, Oct 7, 2018 at 11:50 PM Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>
> For some reason the 2d engine can't handle this. Red formats get special
> treatment there, so perhaps related.
>
> Fixes dEQP-GLES3 tests of the form:
>
>   dEQP-GLES3.functional.fbo.blit.conversion.r{8,16f,32f}_to_srgb8_alpha8
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> Cc: mesa-stable at lists.freedesktop.org
> ---
>  src/gallium/drivers/nouveau/nvc0/nvc0_surface.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
> index 120f9fe6ab9..03881c62785 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
> @@ -1617,6 +1617,10 @@ nvc0_blit(struct pipe_context *pipe, const struct pipe_blit_info *info)
>              else
>              if (util_format_is_alpha(info->src.format))
>                 eng3d = info->src.format != PIPE_FORMAT_A8_UNORM;
> +            else
> +            if (util_format_is_srgb(info->dst.format) &&
> +                util_format_get_nr_components(info->src.format) == 1)
> +               eng3d = true;
>              else
>                 eng3d = !nv50_2d_format_supported(info->src.format);
>           }
> --
> 2.16.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-stable mailing list