Merge "qdutils: Query MDP caps for UBWC feature"
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
commit
3abfa785bd
@@ -99,14 +99,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()
|
||||
{
|
||||
@@ -932,20 +928,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)
|
||||
|
||||
@@ -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_ */
|
||||
|
||||
@@ -62,6 +62,10 @@ int querySDEInfo(HWQueryType type, int *value) {
|
||||
featureName = "tile_format";
|
||||
break;
|
||||
|
||||
case HAS_UBWC:
|
||||
featureName = "ubwc";
|
||||
break;
|
||||
|
||||
default:
|
||||
ALOGE("Invalid query type %d", type);
|
||||
return -EINVAL;
|
||||
|
||||
@@ -48,6 +48,7 @@ namespace qdutils {
|
||||
|
||||
enum HWQueryType {
|
||||
HAS_MACRO_TILE = 0,
|
||||
HAS_UBWC = 1,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
||||
Reference in New Issue
Block a user