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 <thellstrom@vmware.com>
Reviewed-by: Deepak Singh Rawat <drawat@vmware.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
This commit is contained in:
Thomas Hellstrom
2017-05-30 15:02:19 +02:00
parent b8b0a3dc5c
commit 1887faf73b
+5 -1
View File
@@ -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}
};
/**