Module: Mesa
Branch: main
Commit: 1d8627deed2598aa898c896adbeac7421fce2aaa
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d8627deed2598aa898c896adbeac7421fce2aaa

Author: Gert Wollny <[email protected]>
Date:   Wed Sep  7 14:28:35 2022 +0200

virgl: Add some formats that the CTS uses

Otherwise running the CTS emits lots of warnings about
these formats missing in the drivers format table.

Signed-off-by: Gert Wollny <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18462>

---

 src/gallium/drivers/virgl/virgl_encode.c | 10 ++++++++++
 src/virtio/virtio-gpu/virgl_hw.h         | 18 +++++++++++++++++-
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/virgl/virgl_encode.c 
b/src/gallium/drivers/virgl/virgl_encode.c
index 3a3e212e6bb..ab5f772c25e 100644
--- a/src/gallium/drivers/virgl/virgl_encode.c
+++ b/src/gallium/drivers/virgl/virgl_encode.c
@@ -44,6 +44,11 @@
 
 static const enum virgl_formats virgl_formats_conv_table[PIPE_FORMAT_COUNT] = {
    CONV_FORMAT(NONE)
+   CONV_FORMAT(A1B5G5R5_UNORM)
+   CONV_FORMAT(A1R5G5B5_UNORM)
+   CONV_FORMAT(A2B10G10R10_UNORM)
+   CONV_FORMAT(A2R10G10B10_UNORM)
+   CONV_FORMAT(A4R4G4B4_UNORM)
    CONV_FORMAT(B8G8R8A8_UNORM)
    CONV_FORMAT(B8G8R8X8_UNORM)
    CONV_FORMAT(A8R8G8B8_UNORM)
@@ -51,6 +56,7 @@ static const enum virgl_formats 
virgl_formats_conv_table[PIPE_FORMAT_COUNT] = {
    CONV_FORMAT(B5G5R5A1_UNORM)
    CONV_FORMAT(B4G4R4A4_UNORM)
    CONV_FORMAT(B5G6R5_UNORM)
+   CONV_FORMAT(B8G8R8_UNORM)
    CONV_FORMAT(R10G10B10A2_UNORM)
    CONV_FORMAT(L8_UNORM)
    CONV_FORMAT(A8_UNORM)
@@ -89,6 +95,10 @@ static const enum virgl_formats 
virgl_formats_conv_table[PIPE_FORMAT_COUNT] = {
    CONV_FORMAT(R32G32_SSCALED)
    CONV_FORMAT(R32G32B32_SSCALED)
    CONV_FORMAT(R32G32B32A32_SSCALED)
+   CONV_FORMAT(R3G3B2_UNORM)
+   CONV_FORMAT(R4G4B4A4_UNORM)
+   CONV_FORMAT(R5G5B5A1_UNORM)
+   CONV_FORMAT(R5G6B5_UNORM)
    CONV_FORMAT(R16_UNORM)
    CONV_FORMAT(R16G16_UNORM)
    CONV_FORMAT(R16G16B16_UNORM)
diff --git a/src/virtio/virtio-gpu/virgl_hw.h b/src/virtio/virtio-gpu/virgl_hw.h
index ceb3a80ca9f..a91f2ba754d 100644
--- a/src/virtio/virtio-gpu/virgl_hw.h
+++ b/src/virtio/virtio-gpu/virgl_hw.h
@@ -343,8 +343,13 @@ enum virgl_formats {
    VIRGL_FORMAT_A8L8_SNORM              = 260,
    VIRGL_FORMAT_A8L8_SRGB               = 261,
 
-   VIRGL_FORMAT_X8B8G8R8_SNORM          = 268,
+   VIRGL_FORMAT_A1B5G5R5_UNORM          = 262,
+   VIRGL_FORMAT_A1R5G5B5_UNORM          = 263,
+   VIRGL_FORMAT_A2B10G10R10_UNORM       = 264,
+   VIRGL_FORMAT_A2R10G10B10_UNORM       = 265,
+   VIRGL_FORMAT_A4R4G4B4_UNORM          = 266,
 
+   VIRGL_FORMAT_X8B8G8R8_SNORM          = 268,
 
    /* etc2 compressed */
    VIRGL_FORMAT_ETC2_RGB8               = 269,
@@ -393,6 +398,17 @@ enum virgl_formats {
 
    VIRGL_FORMAT_R8_SRGB                 = 312,
    VIRGL_FORMAT_R8G8_SRGB               = 313,
+
+   VIRGL_FORMAT_P010                    = 314,
+   VIRGL_FORMAT_P012                    = 315,
+   VIRGL_FORMAT_P016                    = 316,
+
+   VIRGL_FORMAT_B8G8R8_UNORM            = 317,
+   VIRGL_FORMAT_R3G3B2_UNORM            = 318,
+   VIRGL_FORMAT_R4G4B4A4_UNORM          = 319,
+   VIRGL_FORMAT_R5G5B5A1_UNORM          = 320,
+   VIRGL_FORMAT_R5G6B5_UNORM            = 321,
+
    VIRGL_FORMAT_MAX /* = PIPE_FORMAT_COUNT */,
 
    /* Below formats must not be used in the guest. */

Reply via email to