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 <[email protected]>
Cc: [email protected]
---
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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev