summaryrefslogtreecommitdiff
path: root/libgralloc
diff options
context:
space:
mode:
authorSushil Chauhan <sushilchauhan@codeaurora.org>2016-04-25 16:36:18 -0700
committerSushil Chauhan <sushilchauhan@codeaurora.org>2016-05-10 19:21:23 -0700
commit013614183e083cf6bf8fa82e9eaf3c7a8493214f (patch)
treec25e0ea1c79bdd00e0f95726160e6724f5c3acf4 /libgralloc
parent41451ddbd433a2b3477fb565fba49896fceed1a1 (diff)
downloaddisplay-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.cpp35
-rw-r--r--libgralloc/gr.h14
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_ */