From 1887faf73b379f28eb6c73bdb790dbcc97213b3a Mon Sep 17 00:00:00 2001 From: Thomas Hellstrom Date: Tue, 30 May 2017 15:02:19 +0200 Subject: [PATCH] svga: Allow format differences in 16-bit RGBA surface sharing For the purpose of surface sharing, treat SVGA3D_R5G6B5 and SVGA3D_B5G6R5_UNORM as identical formats. This fixes the following piglit tests with dri3/xa: glx@glx-visuals-depth -pixmap glx@glx-visuals-stencil -pixmap Signed-off-by: Thomas Hellstrom Reviewed-by: Deepak Singh Rawat Reviewed-by: Charmaine Lee --- src/gallium/drivers/svga/svga_format.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/svga/svga_format.c b/src/gallium/drivers/svga/svga_format.c index 3a2f7df2427..7b06a16c3f3 100644 --- a/src/gallium/drivers/svga/svga_format.c +++ b/src/gallium/drivers/svga/svga_format.c @@ -1862,12 +1862,16 @@ static const SVGA3dSurfaceFormat compat_r8[] = { static const SVGA3dSurfaceFormat compat_g8r8[] = { SVGA3D_R8G8_UNORM, SVGA3D_NV12, 0 }; +static const SVGA3dSurfaceFormat compat_r5g6b5[] = { + SVGA3D_R5G6B5, SVGA3D_B5G6R5_UNORM, 0 +}; static const struct format_compat_entry format_compats[] = { {PIPE_FORMAT_B8G8R8X8_UNORM, compat_x8r8g8b8}, {PIPE_FORMAT_B8G8R8A8_UNORM, compat_x8r8g8b8}, {PIPE_FORMAT_R8_UNORM, compat_r8}, - {PIPE_FORMAT_R8G8_UNORM, compat_g8r8} + {PIPE_FORMAT_R8G8_UNORM, compat_g8r8}, + {PIPE_FORMAT_B5G6R5_UNORM, compat_r5g6b5} }; /** -- 2.30.2