Merge "display: Use common includes in SDM" into display.lnx.3.0-dev
diff --git a/libgralloc/alloc_controller.cpp b/libgralloc/alloc_controller.cpp
index 9b21dde..147b9cb 100644
--- a/libgralloc/alloc_controller.cpp
+++ b/libgralloc/alloc_controller.cpp
@@ -76,6 +76,7 @@
using namespace android;
ANDROID_SINGLETON_STATIC_INSTANCE(AdrenoMemInfo);
+ANDROID_SINGLETON_STATIC_INSTANCE(MDPCapabilityInfo);
static void getYuvUBwcWidthHeight(int, int, int, int&, int&);
static unsigned int getUBwcSize(int, int, int, const int, const int);
@@ -97,7 +98,17 @@
return false;
}
-//-------------- AdrenoMemInfo-----------------------//
+//------------- MDPCapabilityInfo-----------------------//
+MDPCapabilityInfo :: MDPCapabilityInfo() {
+ isMacroTileSupported = false;
+ qdutils::querySDEInfo(HAS_MACRO_TILE, &isMacroTileSupported);
+}
+
+int MDPCapabilityInfo :: isMacroTilingSupportedByMDP(){
+ return isMacroTileSupported;
+ }
+
+//------------- AdrenoMemInfo-----------------------//
AdrenoMemInfo::AdrenoMemInfo()
{
LINK_adreno_compute_aligned_width_and_height = NULL;
@@ -516,13 +527,9 @@
bool isMacroTileEnabled(int format, int usage)
{
bool tileEnabled = false;
- int isMacroTileSupportedByMDP = 0;
-
- qdutils::querySDEInfo(HAS_MACRO_TILE, &isMacroTileSupportedByMDP);
-
// Check whether GPU & MDSS supports MacroTiling feature
if(AdrenoMemInfo::getInstance().isMacroTilingSupportedByGPU() &&
- isMacroTileSupportedByMDP)
+ MDPCapabilityInfo::getInstance().isMacroTilingSupportedByMDP())
{
// check the format
switch(format)
diff --git a/libgralloc/gr.h b/libgralloc/gr.h
index bb1f6dd..e7d449e 100644
--- a/libgralloc/gr.h
+++ b/libgralloc/gr.h
@@ -197,4 +197,21 @@
unsigned int (*LINK_adreno_get_gpu_pixel_alignment) ();
};
+
+
+class MDPCapabilityInfo : public android::Singleton <MDPCapabilityInfo>
+{
+ int isMacroTileSupported;
+ public:
+ MDPCapabilityInfo();
+ /*
+ * Function to return whether MDP support MacroTile feature
+ *
+ * @return 1 : supported
+ * 0 : not supported
+ */
+ int isMacroTilingSupportedByMDP();
+
+};
+
#endif /* GR_H_ */
diff --git a/sdm/libs/hwc/hwc_display_external.cpp b/sdm/libs/hwc/hwc_display_external.cpp
index 86b36d8..dbcced9 100644
--- a/sdm/libs/hwc/hwc_display_external.cpp
+++ b/sdm/libs/hwc/hwc_display_external.cpp
@@ -155,8 +155,8 @@
return;
}
- uint32_t new_panel_width = panel_width * UINT32(1.0f - width_ratio);
- uint32_t new_panel_height = panel_height * UINT32(1.0f - height_ratio);
+ uint32_t new_panel_width = UINT32(panel_width * FLOAT(1.0f - width_ratio));
+ uint32_t new_panel_height = UINT32(panel_height * FLOAT(1.0f - height_ratio));
int x_offset = INT((FLOAT(panel_width) * width_ratio) / 2.0f);
int y_offset = INT((FLOAT(panel_height) * height_ratio) / 2.0f);