diff options
author | Sushil Chauhan <sushilchauhan@codeaurora.org> | 2016-04-25 16:36:18 -0700 |
---|---|---|
committer | Sushil Chauhan <sushilchauhan@codeaurora.org> | 2016-05-10 19:21:23 -0700 |
commit | 013614183e083cf6bf8fa82e9eaf3c7a8493214f (patch) | |
tree | c25e0ea1c79bdd00e0f95726160e6724f5c3acf4 /libgralloc | |
parent | 41451ddbd433a2b3477fb565fba49896fceed1a1 (diff) | |
download | display-013614183e083cf6bf8fa82e9eaf3c7a8493214f.tar.gz |
qdutils: Query MDP caps for UBWC feature
- querySDEInfo queries MDP caps to check if UBWC is supported on H/W.
- Gralloc calls querySDEInfo api to check if UBWC feature is enabled
by MDP driver.
CRs-Fixed: 1013911
Change-Id: I9114c4d8286842f19619302484ee4690c59fcb29
Diffstat (limited to 'libgralloc')
-rw-r--r-- | libgralloc/alloc_controller.cpp | 35 | ||||
-rw-r--r-- | libgralloc/gr.h | 14 |
2 files changed, 28 insertions, 21 deletions
diff --git a/libgralloc/alloc_controller.cpp b/libgralloc/alloc_controller.cpp index 147b9cbb..581d1126 100644 --- a/libgralloc/alloc_controller.cpp +++ b/libgralloc/alloc_controller.cpp @@ -100,14 +100,10 @@ static bool useUncached(const int& usage) { //------------- MDPCapabilityInfo-----------------------// MDPCapabilityInfo :: MDPCapabilityInfo() { - isMacroTileSupported = false; qdutils::querySDEInfo(HAS_MACRO_TILE, &isMacroTileSupported); + qdutils::querySDEInfo(HAS_UBWC, &isUBwcSupported); } -int MDPCapabilityInfo :: isMacroTilingSupportedByMDP(){ - return isMacroTileSupported; - } - //------------- AdrenoMemInfo-----------------------// AdrenoMemInfo::AdrenoMemInfo() { @@ -938,20 +934,23 @@ static bool isUBwcFormat(int format) static bool isUBwcSupported(int format) { - // Existing HAL formats with UBWC support - switch(format) - { - case HAL_PIXEL_FORMAT_BGR_565: - case HAL_PIXEL_FORMAT_RGBA_8888: - case HAL_PIXEL_FORMAT_RGBX_8888: - case HAL_PIXEL_FORMAT_NV12_ENCODEABLE: - case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS: - case HAL_PIXEL_FORMAT_RGBA_1010102: - case HAL_PIXEL_FORMAT_RGBX_1010102: - return true; - default: - return false; + if (MDPCapabilityInfo::getInstance().isUBwcSupportedByMDP()) { + // Existing HAL formats with UBWC support + switch(format) + { + case HAL_PIXEL_FORMAT_BGR_565: + case HAL_PIXEL_FORMAT_RGBA_8888: + case HAL_PIXEL_FORMAT_RGBX_8888: + case HAL_PIXEL_FORMAT_NV12_ENCODEABLE: + case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS: + case HAL_PIXEL_FORMAT_RGBA_1010102: + case HAL_PIXEL_FORMAT_RGBX_1010102: + return true; + default: + break; + } } + return false; } bool isUBwcEnabled(int format, int usage) diff --git a/libgralloc/gr.h b/libgralloc/gr.h index e7d449e7..5fe1bdb7 100644 --- a/libgralloc/gr.h +++ b/libgralloc/gr.h @@ -201,7 +201,9 @@ class AdrenoMemInfo : public android::Singleton <AdrenoMemInfo> class MDPCapabilityInfo : public android::Singleton <MDPCapabilityInfo> { - int isMacroTileSupported; + int isMacroTileSupported = 0; + int isUBwcSupported = 0; + public: MDPCapabilityInfo(); /* @@ -210,8 +212,14 @@ class MDPCapabilityInfo : public android::Singleton <MDPCapabilityInfo> * @return 1 : supported * 0 : not supported */ - int isMacroTilingSupportedByMDP(); - + int isMacroTilingSupportedByMDP() { return isMacroTileSupported; } + /* + * Function to return whether MDP supports UBWC feature + * + * @return 1 : supported + * 0 : not supported + */ + int isUBwcSupportedByMDP() { return isUBwcSupported; } }; #endif /* GR_H_ */ |