From: Ilia Mirkin Date: Sun, 7 Oct 2018 21:45:07 +0000 (-0400) Subject: nvc0: fix blitting red to srgb8_alpha X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=92f56fbd8969801fc88de606e1051dc397331e7d;p=mesa.git nvc0: fix blitting red to srgb8_alpha 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 Reviewed-by: Karol Herbst Cc: mesa-stable@lists.freedesktop.org --- 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); }