diff options
author | Jason Macnak <natsu@google.com> | 2021-09-15 17:03:06 -0700 |
---|---|---|
committer | Jason Macnak <natsu@google.com> | 2021-12-06 15:59:28 -0800 |
commit | 8af902195aa422d60cb252e495670603d82318a9 (patch) | |
tree | 7f61cf98a91238d334339544e3da5ea442810612 | |
parent | fe16e9267d8dec34c94d3ea4183033b92cca2905 (diff) | |
download | vulkan-cereal-android12-qpr3-s4-release.tar.gz |
Handle VIRGL_FORMAT_R10G10B10A2_UNORMandroid-12.1.0_r9android-12.1.0_r8android-12.1.0_r7android-12.1.0_r22android-12.1.0_r21android-12.1.0_r20android-12.1.0_r19android-12.1.0_r11android-12.1.0_r10android12L-devandroid12-qpr3-s7-releaseandroid12-qpr3-s6-releaseandroid12-qpr3-s5-releaseandroid12-qpr3-s4-releaseandroid12-qpr3-s3-releaseandroid12-qpr3-s2-releaseandroid12-qpr3-s1-releaseandroid12-qpr3-release
Original change: https://android-review.googlesource.com/c/device/generic/vulkan-cereal/+/1827787
Bug: b/200086587
Test: cts -m CtsNativeHardwareTestCases w/ launch_cvd --gpu_mode=gfxstream
Change-Id: I37103d6c03648aabfc387d0c9286b167c1bb38bf
Merged-In: I37103d6c03648aabfc387d0c9286b167c1bb38bf
-rw-r--r-- | stream-servers/virtio-gpu-gfxstream-renderer.cpp | 7 |
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: |