diff options
-rw-r--r-- | hwc3/hwc3-default.xml | 2 | ||||
-rw-r--r-- | libhwc2.1/libdevice/ExynosDevice.cpp | 3 | ||||
-rw-r--r-- | libhwc2.1/libhwchelper/ExynosHWCHelper.cpp | 10 | ||||
-rw-r--r-- | libhwc2.1/libhwchelper/ExynosHWCHelper.h | 2 |
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, |