summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-12-09 00:00:51 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-12-09 00:00:51 +0000
commit8c1e5ded57ca1d1ab15135de4bf28f196d99c001 (patch)
tree7f61cf98a91238d334339544e3da5ea442810612
parent82b6a55797c29509522f628b9db7aaa02a265474 (diff)
parent8af902195aa422d60cb252e495670603d82318a9 (diff)
downloadvulkan-cereal-android12L-d2-release.tar.gz
Change-Id: I8d8f1d3293d97e1ab752cc3fc4a12c8672c85de9
-rw-r--r--stream-servers/virtio-gpu-gfxstream-renderer.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/stream-servers/virtio-gpu-gfxstream-renderer.cpp b/stream-servers/virtio-gpu-gfxstream-renderer.cpp
index 63b486d3..c9b06fb9 100644
--- a/stream-servers/virtio-gpu-gfxstream-renderer.cpp
+++ b/stream-servers/virtio-gpu-gfxstream-renderer.cpp
@@ -202,6 +202,7 @@ const uint32_t kGlBgra = 0x80e1;
const uint32_t kGlRgba = 0x1908;
const uint32_t kGlRgba16f = 0x881A;
const uint32_t kGlRgb565 = 0x8d62;
+const uint32_t kGlRgba1010102 = 0x8059;
const uint32_t kGlR8 = 0x8229;
const uint32_t kGlR16 = 0x822A;
const uint32_t kGlRg8 = 0x822b;
@@ -226,6 +227,7 @@ static inline bool virgl_format_is_yuv(uint32_t format) {
case VIRGL_FORMAT_R16_UNORM:
case VIRGL_FORMAT_R16G16B16A16_FLOAT:
case VIRGL_FORMAT_R8G8_UNORM:
+ case VIRGL_FORMAT_R10G10B10A2_UNORM:
return false;
case VIRGL_FORMAT_NV12:
case VIRGL_FORMAT_YV12:
@@ -257,6 +259,8 @@ static inline uint32_t virgl_format_to_gl(uint32_t virgl_format) {
case VIRGL_FORMAT_YV12:
// emulated as RGBA8888
return kGlRgba;
+ case VIRGL_FORMAT_R10G10B10A2_UNORM:
+ return kGlRgba1010102;
default:
return kGlRgba;
}
@@ -277,6 +281,7 @@ static inline uint32_t virgl_format_to_fwk_format(uint32_t virgl_format) {
case VIRGL_FORMAT_R8G8B8X8_UNORM:
case VIRGL_FORMAT_R8G8B8A8_UNORM:
case VIRGL_FORMAT_B5G6R5_UNORM:
+ case VIRGL_FORMAT_R10G10B10A2_UNORM:
default: // kFwkFormatGlCompat: No extra conversions needed
return kFwkFormatGlCompat;
}
@@ -312,6 +317,7 @@ static inline size_t virgl_format_to_linear_base(
case VIRGL_FORMAT_B8G8R8A8_UNORM:
case VIRGL_FORMAT_R8G8B8X8_UNORM:
case VIRGL_FORMAT_R8G8B8A8_UNORM:
+ case VIRGL_FORMAT_R10G10B10A2_UNORM:
bpp = 4;
break;
case VIRGL_FORMAT_B5G6R5_UNORM:
@@ -371,6 +377,7 @@ static inline size_t virgl_format_to_total_xfer_len(
case VIRGL_FORMAT_B8G8R8A8_UNORM:
case VIRGL_FORMAT_R8G8B8X8_UNORM:
case VIRGL_FORMAT_R8G8B8A8_UNORM:
+ case VIRGL_FORMAT_R10G10B10A2_UNORM:
bpp = 4;
break;
case VIRGL_FORMAT_B5G6R5_UNORM: