diff options
-rw-r--r-- | libhwc2.1/libdevice/ExynosDisplay.cpp | 38 | ||||
-rw-r--r-- | libhwc2.1/libdevice/ExynosDisplay.h | 2 | ||||
-rw-r--r-- | libhwc2.1/libresource/ExynosMPP.cpp | 6 | ||||
-rw-r--r-- | libhwc2.1/libresource/ExynosMPP.h | 4 | ||||
-rw-r--r-- | libhwc2.1/libresource/ExynosResourceManager.cpp | 8 | ||||
-rw-r--r-- | libhwc2.1/libresource/ExynosResourceManager.h | 5 |
6 files changed, 30 insertions, 33 deletions
diff --git a/libhwc2.1/libdevice/ExynosDisplay.cpp b/libhwc2.1/libdevice/ExynosDisplay.cpp index e7a61a4..3767040 100644 --- a/libhwc2.1/libdevice/ExynosDisplay.cpp +++ b/libhwc2.1/libdevice/ExynosDisplay.cpp @@ -925,8 +925,7 @@ void ExynosCompositionInfo::setCompressionType(uint32_t compressionType) { mCompressionInfo.type = compressionType; } -void ExynosCompositionInfo::dump(String8& result) -{ +void ExynosCompositionInfo::dump(String8& result) const { result.appendFormat("CompositionInfo (%d)\n", mType); result.appendFormat("mHasCompositionLayer(%d)\n", mHasCompositionLayer); if (mHasCompositionLayer) { @@ -2450,8 +2449,8 @@ void ExynosDisplay::printDebugInfos(String8 &reason) { result.appendFormat("Device mGeometryChanged(%" PRIx64 "), mGeometryChanged(%" PRIx64 "), mRenderingState(%d)\n", mDevice->mGeometryChanged, mGeometryChanged, mRenderingState); result.appendFormat("======================= dump composition infos ================================\n"); - ExynosCompositionInfo clientCompInfo = mClientCompositionInfo; - ExynosCompositionInfo exynosCompInfo = mExynosCompositionInfo; + const ExynosCompositionInfo& clientCompInfo = mClientCompositionInfo; + const ExynosCompositionInfo& exynosCompInfo = mExynosCompositionInfo; clientCompInfo.dump(result); exynosCompInfo.dump(result); ALOGD("%s", result.string()); @@ -4853,14 +4852,11 @@ void ExynosDisplay::printConfig(exynos_win_config_data &c) int32_t ExynosDisplay::setCompositionTargetExynosImage(uint32_t targetType, exynos_image *src_img, exynos_image *dst_img) { - std::optional<ExynosCompositionInfo> compositionInfo; - - if (targetType == COMPOSITION_CLIENT) - compositionInfo = mClientCompositionInfo; - else if (targetType == COMPOSITION_EXYNOS) - compositionInfo = mExynosCompositionInfo; - - if (!compositionInfo) return -EINVAL; + if (targetType != COMPOSITION_CLIENT && targetType != COMPOSITION_EXYNOS) { + return -EINVAL; + } + const ExynosCompositionInfo& compositionInfo = + (targetType == COMPOSITION_CLIENT) ? mClientCompositionInfo : mExynosCompositionInfo; src_img->fullWidth = mXres; src_img->fullHeight = mYres; @@ -4871,10 +4867,10 @@ int32_t ExynosDisplay::setCompositionTargetExynosImage(uint32_t targetType, exyn src_img->w = mXres; src_img->h = mYres; - if (compositionInfo->mTargetBuffer != NULL) { - src_img->bufferHandle = compositionInfo->mTargetBuffer; + if (compositionInfo.mTargetBuffer != NULL) { + src_img->bufferHandle = compositionInfo.mTargetBuffer; - VendorGraphicBufferMeta gmeta(compositionInfo->mTargetBuffer); + VendorGraphicBufferMeta gmeta(compositionInfo.mTargetBuffer); src_img->format = gmeta.format; src_img->usageFlags = gmeta.producer_usage; } else { @@ -4883,21 +4879,21 @@ int32_t ExynosDisplay::setCompositionTargetExynosImage(uint32_t targetType, exyn src_img->usageFlags = 0; } src_img->layerFlags = 0x0; - src_img->acquireFenceFd = compositionInfo->mAcquireFence; + src_img->acquireFenceFd = compositionInfo.mAcquireFence; src_img->releaseFenceFd = -1; - src_img->dataSpace = compositionInfo->mDataSpace; + src_img->dataSpace = compositionInfo.mDataSpace; src_img->blending = HWC2_BLEND_MODE_PREMULTIPLIED; src_img->transform = 0; - src_img->compressionInfo = compositionInfo->mCompressionInfo; + src_img->compressionInfo = compositionInfo.mCompressionInfo; src_img->planeAlpha = 1; src_img->zOrder = 0; if ((targetType == COMPOSITION_CLIENT) && (mType == HWC_DISPLAY_VIRTUAL)) { - if (compositionInfo->mLastIndex < mExynosCompositionInfo.mLastIndex) + if (compositionInfo.mLastIndex < mExynosCompositionInfo.mLastIndex) src_img->zOrder = 0; else src_img->zOrder = 1000; } - src_img->needPreblending = compositionInfo->mNeedPreblending; + src_img->needPreblending = compositionInfo.mNeedPreblending; dst_img->fullWidth = mXres; dst_img->fullHeight = mYres; @@ -4920,7 +4916,7 @@ int32_t ExynosDisplay::setCompositionTargetExynosImage(uint32_t targetType, exyn dst_img->dataSpace = colorModeToDataspace(mColorMode); dst_img->blending = HWC2_BLEND_MODE_NONE; dst_img->transform = 0; - dst_img->compressionInfo = compositionInfo->mCompressionInfo; + dst_img->compressionInfo = compositionInfo.mCompressionInfo; dst_img->planeAlpha = 1; dst_img->zOrder = src_img->zOrder; diff --git a/libhwc2.1/libdevice/ExynosDisplay.h b/libhwc2.1/libdevice/ExynosDisplay.h index 5274243..efd365b 100644 --- a/libhwc2.1/libdevice/ExynosDisplay.h +++ b/libhwc2.1/libdevice/ExynosDisplay.h @@ -332,7 +332,7 @@ class ExynosCompositionInfo : public ExynosMPPSource { void setTargetBuffer(ExynosDisplay *display, buffer_handle_t handle, int32_t acquireFence, android_dataspace dataspace); void setCompressionType(uint32_t compressionType); - void dump(String8& result); + void dump(String8& result) const; String8 getTypeStr(); }; diff --git a/libhwc2.1/libresource/ExynosMPP.cpp b/libhwc2.1/libresource/ExynosMPP.cpp index 5045cde..afc72f3 100644 --- a/libhwc2.1/libresource/ExynosMPP.cpp +++ b/libhwc2.1/libresource/ExynosMPP.cpp @@ -125,14 +125,12 @@ ExynosMPPSource::ExynosMPPSource(uint32_t sourceType, void *source) mMidImg.releaseFenceFd = -1; } -void ExynosMPPSource::setExynosImage(exynos_image src_img, exynos_image dst_img) -{ +void ExynosMPPSource::setExynosImage(const exynos_image& src_img, const exynos_image& dst_img) { mSrcImg = src_img; mDstImg = dst_img; } -void ExynosMPPSource::setExynosMidImage(exynos_image mid_img) -{ +void ExynosMPPSource::setExynosMidImage(const exynos_image& mid_img) { mMidImg = mid_img; } diff --git a/libhwc2.1/libresource/ExynosMPP.h b/libhwc2.1/libresource/ExynosMPP.h index 0877841..7ea3fbe 100644 --- a/libhwc2.1/libresource/ExynosMPP.h +++ b/libhwc2.1/libresource/ExynosMPP.h @@ -451,8 +451,8 @@ class ExynosMPPSource { ExynosMPPSource(); ExynosMPPSource(uint32_t sourceType, void *source); ~ExynosMPPSource(){}; - void setExynosImage(exynos_image src_img, exynos_image dst_img); - void setExynosMidImage(exynos_image mid_img); + void setExynosImage(const exynos_image& src_img, const exynos_image& dst_img); + void setExynosMidImage(const exynos_image& mid_img); uint32_t mSourceType; void *mSource; diff --git a/libhwc2.1/libresource/ExynosResourceManager.cpp b/libhwc2.1/libresource/ExynosResourceManager.cpp index 41de2cf..4e90717 100644 --- a/libhwc2.1/libresource/ExynosResourceManager.cpp +++ b/libhwc2.1/libresource/ExynosResourceManager.cpp @@ -808,9 +808,11 @@ int32_t ExynosResourceManager::updateExynosComposition(ExynosDisplay *display) return ret; } -int32_t ExynosResourceManager::changeLayerFromClientToDevice(ExynosDisplay *display, ExynosLayer *layer, - uint32_t layer_index, exynos_image m2m_out_img, ExynosMPP *m2mMPP, ExynosMPP *otfMPP) -{ +int32_t ExynosResourceManager::changeLayerFromClientToDevice(ExynosDisplay* display, + ExynosLayer* layer, + uint32_t layer_index, + const exynos_image& m2m_out_img, + ExynosMPP* m2mMPP, ExynosMPP* otfMPP) { int ret = NO_ERROR; if ((ret = display->removeClientCompositionLayer(layer_index)) != NO_ERROR) { ALOGD("removeClientCompositionLayer return error(%d)", ret); diff --git a/libhwc2.1/libresource/ExynosResourceManager.h b/libhwc2.1/libresource/ExynosResourceManager.h index e996554..c8f308f 100644 --- a/libhwc2.1/libresource/ExynosResourceManager.h +++ b/libhwc2.1/libresource/ExynosResourceManager.h @@ -187,8 +187,9 @@ class ExynosResourceManager { struct exynos_image &dst, ExynosMPPSource *mppSrc); private: - int32_t changeLayerFromClientToDevice(ExynosDisplay *display, ExynosLayer *layer, - uint32_t layer_index, exynos_image m2m_out_img, ExynosMPP *m2mMPP, ExynosMPP *otfMPP); + int32_t changeLayerFromClientToDevice(ExynosDisplay* display, ExynosLayer* layer, + uint32_t layer_index, const exynos_image& m2m_out_img, + ExynosMPP* m2mMPP, ExynosMPP* otfMPP); void dump(const restriction_classification_t, String8 &result) const; sp<DstBufMgrThread> mDstBufMgrThread; |