summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hwc3/hwc3-default.xml2
-rw-r--r--libhwc2.1/libdevice/ExynosDevice.cpp3
-rw-r--r--libhwc2.1/libhwchelper/ExynosHWCHelper.cpp10
-rw-r--r--libhwc2.1/libhwchelper/ExynosHWCHelper.h2
4 files changed, 10 insertions, 7 deletions
diff --git a/hwc3/hwc3-default.xml b/hwc3/hwc3-default.xml
index 05a7c09..fd9e638 100644
--- a/hwc3/hwc3-default.xml
+++ b/hwc3/hwc3-default.xml
@@ -1,7 +1,7 @@
<manifest version="1.0" type="device">
<hal format="aidl">
<name>android.hardware.graphics.composer3</name>
- <version>1</version>
+ <version>2</version>
<interface>
<name>IComposer</name>
<instance>default</instance>
diff --git a/libhwc2.1/libdevice/ExynosDevice.cpp b/libhwc2.1/libdevice/ExynosDevice.cpp
index b4de1ae..97d7a15 100644
--- a/libhwc2.1/libdevice/ExynosDevice.cpp
+++ b/libhwc2.1/libdevice/ExynosDevice.cpp
@@ -185,8 +185,7 @@ ExynosDevice::ExynosDevice()
mResourceManager->initDisplaysTDMInfo();
if (mInterfaceType == INTERFACE_TYPE_DRM) {
- /* disable vblank immediately after updates */
- setVBlankOffDelay(-1);
+ setVBlankOffDelay(1);
}
char value[PROPERTY_VALUE_MAX];
diff --git a/libhwc2.1/libhwchelper/ExynosHWCHelper.cpp b/libhwc2.1/libhwchelper/ExynosHWCHelper.cpp
index 663ab50..56b3b83 100644
--- a/libhwc2.1/libhwchelper/ExynosHWCHelper.cpp
+++ b/libhwc2.1/libhwchelper/ExynosHWCHelper.cpp
@@ -676,9 +676,9 @@ uint32_t getExynosBufferYLength(uint32_t width, uint32_t height, int format)
case HAL_PIXEL_FORMAT_EXYNOS_YCbCr_P010_SPN:
return 2 * __ALIGN_UP(width, 64) * __ALIGN_UP(height, 16);
case HAL_PIXEL_FORMAT_GOOGLE_NV12_SP_10B:
- return 2 * __ALIGN_UP(width, 64) * __ALIGN_UP(height, 8);
+ return 2 * __ALIGN_UP(width, 64) * __ALIGN_UP(height, 16);
case HAL_PIXEL_FORMAT_GOOGLE_NV12_SP:
- return __ALIGN_UP(width, 64) * __ALIGN_UP(height, 8);
+ return __ALIGN_UP(width, 64) * __ALIGN_UP(height, 16);
case HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_SBWC:
case HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_SBWC_L50:
case HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_SBWC_L75:
@@ -699,6 +699,8 @@ uint32_t getExynosBufferYLength(uint32_t width, uint32_t height, int format)
case HAL_PIXEL_FORMAT_EXYNOS_YCrCb_420_SP_M_10B_SBWC:
return SBWC_10B_Y_SIZE(width, height) +
SBWC_10B_Y_HEADER_SIZE(width, height);
+ case MALI_GRALLOC_FORMAT_INTERNAL_NV21:
+ return __ALIGN_UP(width, 64) * __ALIGN_UP(height, 2);
}
return NV12M_Y_SIZE(width, height) + ((width % 128) == 0 ? 0 : 256);
@@ -726,9 +728,9 @@ uint32_t getExynosBufferCbCrLength(uint32_t width, uint32_t height, int format)
case HAL_PIXEL_FORMAT_EXYNOS_YCbCr_P010_SPN:
return __ALIGN_UP(width, 64) * __ALIGN_UP(height, 16);
case HAL_PIXEL_FORMAT_GOOGLE_NV12_SP_10B:
- return __ALIGN_UP(width, 64) * __ALIGN_UP(height, 8);
+ return __ALIGN_UP(width, 64) * __ALIGN_UP(height, 16);
case HAL_PIXEL_FORMAT_GOOGLE_NV12_SP:
- return __ALIGN_UP(width, 64) * __ALIGN_UP(height, 8) / 2;
+ return __ALIGN_UP(width, 64) * __ALIGN_UP(height, 16) / 2;
case HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_SBWC:
case HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_SBWC_L50:
case HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M_SBWC_L75:
diff --git a/libhwc2.1/libhwchelper/ExynosHWCHelper.h b/libhwc2.1/libhwchelper/ExynosHWCHelper.h
index f298c33..87b6163 100644
--- a/libhwc2.1/libhwchelper/ExynosHWCHelper.h
+++ b/libhwc2.1/libhwchelper/ExynosHWCHelper.h
@@ -214,6 +214,8 @@ const format_description_t exynos_format_desc[] = {
1, 1, 12, YUV420|BIT8|AFBC, false, String8("MALI_GRALLOC_FORMAT_INTERNAL_YUV420_8BIT_I"), 0},
{MALI_GRALLOC_FORMAT_INTERNAL_YUV420_10BIT_I, DECON_PIXEL_FORMAT_MAX, DRM_FORMAT_YUV420_10BIT,
1, 1, 15, YUV420|BIT10|AFBC, false, String8("MALI_GRALLOC_FORMAT_INTERNAL_YUV420_10BIT_I"), 0},
+ {MALI_GRALLOC_FORMAT_INTERNAL_NV21, DECON_PIXEL_FORMAT_NV21, DRM_FORMAT_NV21,
+ 2, 1, 12, YUV420|BIT8, false, String8("MALI_GRALLOC_FORMAT_INTERNAL_NV21"), 0},
/* YUV 422 */
{HAL_PIXEL_FORMAT_EXYNOS_CbYCrY_422_I, DECON_PIXEL_FORMAT_MAX, DRM_FORMAT_UNDEFINED,