summaryrefslogtreecommitdiff
path: root/libhwc2.1/libresource/ExynosResourceManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libhwc2.1/libresource/ExynosResourceManager.cpp')
-rw-r--r--libhwc2.1/libresource/ExynosResourceManager.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/libhwc2.1/libresource/ExynosResourceManager.cpp b/libhwc2.1/libresource/ExynosResourceManager.cpp
index 4f5929b..ee1ea13 100644
--- a/libhwc2.1/libresource/ExynosResourceManager.cpp
+++ b/libhwc2.1/libresource/ExynosResourceManager.cpp
@@ -1220,6 +1220,15 @@ int32_t ExynosResourceManager::getCandidateM2mMPPOutImages(ExynosDisplay *displa
dst_img.x, dst_img.y, dst_img.w, dst_img.h,
dst_scale_img.x, dst_scale_img.y, dst_scale_img.w, dst_scale_img.h);
image_lists[index++] = dst_scale_img;
+
+ if (isFormatSBWC(dst_scale_img.format)) {
+ /*
+ * SBWC format could not be supported in specific dst size
+ * Add uncompressed YUV format to cover this size
+ */
+ dst_scale_img.format = DEFAULT_MPP_DST_UNCOMP_YUV_FORMAT;
+ image_lists[index++] = dst_scale_img;
+ }
}
}
@@ -1265,6 +1274,14 @@ int32_t ExynosResourceManager::getCandidateM2mMPPOutImages(ExynosDisplay *displa
}
image_lists[index++] = dst_img;
+ if (isFormatSBWC(dst_img.format)) {
+ /*
+ * SBWC format could not be supported in specific dst size
+ * Add uncompressed YUV format to cover this size
+ */
+ dst_img.format = DEFAULT_MPP_DST_UNCOMP_YUV_FORMAT;
+ image_lists[index++] = dst_img;
+ }
/* For G2D HDR case */
if (hasHdrInfo(src_img)) {