Merge "hwc: Clean up scattered definitions of commonly used constants/values"
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
commit
b676dc16ca
@@ -37,14 +37,11 @@
|
|||||||
#include "qd_utils.h"
|
#include "qd_utils.h"
|
||||||
|
|
||||||
using namespace android;
|
using namespace android;
|
||||||
|
using namespace qdutils;
|
||||||
|
|
||||||
namespace qhwc {
|
namespace qhwc {
|
||||||
#define MAX_SYSFS_FILE_PATH 255
|
|
||||||
#define UNKNOWN_STRING "unknown"
|
#define UNKNOWN_STRING "unknown"
|
||||||
#define SPD_NAME_LENGTH 16
|
#define SPD_NAME_LENGTH 16
|
||||||
/* Max. resolution assignable to when downscale */
|
|
||||||
#define SUPPORTED_DOWNSCALE_EXT_AREA (1920*1080)
|
|
||||||
|
|
||||||
|
|
||||||
int ExternalDisplay::configure() {
|
int ExternalDisplay::configure() {
|
||||||
if(!openFrameBuffer()) {
|
if(!openFrameBuffer()) {
|
||||||
@@ -594,7 +591,7 @@ void ExternalDisplay::setAttributes() {
|
|||||||
// downscale mode
|
// downscale mode
|
||||||
// Restrict this upto 1080p resolution max
|
// Restrict this upto 1080p resolution max
|
||||||
if(((priW * priH) > (width * height)) &&
|
if(((priW * priH) > (width * height)) &&
|
||||||
((priW * priH) <= SUPPORTED_DOWNSCALE_EXT_AREA)) {
|
((priW * priH) <= SUPPORTED_DOWNSCALE_AREA)) {
|
||||||
// tmpW and tmpH will hold the primary dimensions before we
|
// tmpW and tmpH will hold the primary dimensions before we
|
||||||
// update the aspect ratio if necessary.
|
// update the aspect ratio if necessary.
|
||||||
int tmpW = priW;
|
int tmpW = priW;
|
||||||
@@ -611,7 +608,7 @@ void ExternalDisplay::setAttributes() {
|
|||||||
// We get around this by calculating a new resolution by
|
// We get around this by calculating a new resolution by
|
||||||
// keeping aspect ratio intact.
|
// keeping aspect ratio intact.
|
||||||
hwc_rect r = {0, 0, 0, 0};
|
hwc_rect r = {0, 0, 0, 0};
|
||||||
getAspectRatioPosition(tmpW, tmpH, width, height, r);
|
qdutils::getAspectRatioPosition(tmpW, tmpH, width, height, r);
|
||||||
mHwcContext->dpyAttr[HWC_DISPLAY_EXTERNAL].xres =
|
mHwcContext->dpyAttr[HWC_DISPLAY_EXTERNAL].xres =
|
||||||
r.right - r.left;
|
r.right - r.left;
|
||||||
mHwcContext->dpyAttr[HWC_DISPLAY_EXTERNAL].yres =
|
mHwcContext->dpyAttr[HWC_DISPLAY_EXTERNAL].yres =
|
||||||
|
|||||||
@@ -488,8 +488,8 @@ void getAspectRatioPosition(hwc_context_t* ctx, int dpy, int extOrientation,
|
|||||||
if(extOrientation & HAL_TRANSFORM_ROT_90) {
|
if(extOrientation & HAL_TRANSFORM_ROT_90) {
|
||||||
// Swap width/height for input position
|
// Swap width/height for input position
|
||||||
swapWidthHeight(actualWidth, actualHeight);
|
swapWidthHeight(actualWidth, actualHeight);
|
||||||
getAspectRatioPosition((int)fbWidth, (int)fbHeight, (int)actualWidth,
|
qdutils::getAspectRatioPosition((int)fbWidth, (int)fbHeight,
|
||||||
(int)actualHeight, rect);
|
(int)actualWidth, (int)actualHeight, rect);
|
||||||
xPos = rect.left;
|
xPos = rect.left;
|
||||||
yPos = rect.top;
|
yPos = rect.top;
|
||||||
width = float(rect.right - rect.left);
|
width = float(rect.right - rect.left);
|
||||||
@@ -520,7 +520,7 @@ void getAspectRatioPosition(hwc_context_t* ctx, int dpy, int extOrientation,
|
|||||||
xRatio = (float)(outPos.x - xPos)/width;
|
xRatio = (float)(outPos.x - xPos)/width;
|
||||||
// GetaspectRatio -- tricky to get the correct aspect ratio
|
// GetaspectRatio -- tricky to get the correct aspect ratio
|
||||||
// But we need to do this.
|
// But we need to do this.
|
||||||
getAspectRatioPosition((int)width, (int)height,
|
qdutils::getAspectRatioPosition((int)width, (int)height,
|
||||||
(int)width,(int)height, r);
|
(int)width,(int)height, r);
|
||||||
xPos = r.left;
|
xPos = r.left;
|
||||||
yPos = r.top;
|
yPos = r.top;
|
||||||
@@ -603,7 +603,7 @@ void calcExtDisplayPosition(hwc_context_t *ctx,
|
|||||||
if(!isPrimaryPortrait(ctx)) {
|
if(!isPrimaryPortrait(ctx)) {
|
||||||
swap(srcWidth, srcHeight);
|
swap(srcWidth, srcHeight);
|
||||||
} // Get Aspect Ratio for external
|
} // Get Aspect Ratio for external
|
||||||
getAspectRatioPosition(dstWidth, dstHeight, srcWidth,
|
qdutils::getAspectRatioPosition(dstWidth, dstHeight, srcWidth,
|
||||||
srcHeight, displayFrame);
|
srcHeight, displayFrame);
|
||||||
// Crop - this is needed, because for sidesync, the dest fb will
|
// Crop - this is needed, because for sidesync, the dest fb will
|
||||||
// be in portrait orientation, so update the crop to not show the
|
// be in portrait orientation, so update the crop to not show the
|
||||||
|
|||||||
@@ -27,16 +27,17 @@
|
|||||||
#include <sys/prctl.h>
|
#include <sys/prctl.h>
|
||||||
#include <poll.h>
|
#include <poll.h>
|
||||||
#include "hwc_utils.h"
|
#include "hwc_utils.h"
|
||||||
|
#include "qd_utils.h"
|
||||||
#include "string.h"
|
#include "string.h"
|
||||||
#include "external.h"
|
#include "external.h"
|
||||||
#include "overlay.h"
|
#include "overlay.h"
|
||||||
#define __STDC_FORMAT_MACROS 1
|
#define __STDC_FORMAT_MACROS 1
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
|
||||||
|
using namespace qdutils;
|
||||||
namespace qhwc {
|
namespace qhwc {
|
||||||
|
|
||||||
#define HWC_VSYNC_THREAD_NAME "hwcVsyncThread"
|
#define HWC_VSYNC_THREAD_NAME "hwcVsyncThread"
|
||||||
#define MAX_SYSFS_FILE_PATH 255
|
|
||||||
#define PANEL_ON_STR "panel_power_on ="
|
#define PANEL_ON_STR "panel_power_on ="
|
||||||
#define ARRAY_LENGTH(array) (sizeof((array))/sizeof((array)[0]))
|
#define ARRAY_LENGTH(array) (sizeof((array))/sizeof((array)[0]))
|
||||||
#define MAX_THERMAL_LEVEL 3
|
#define MAX_THERMAL_LEVEL 3
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
#include "pipes/overlayGenPipe.h"
|
#include "pipes/overlayGenPipe.h"
|
||||||
#include "mdp_version.h"
|
#include "mdp_version.h"
|
||||||
#include "qdMetaData.h"
|
#include "qdMetaData.h"
|
||||||
|
#include "qd_utils.h"
|
||||||
|
|
||||||
#define PIPE_DEBUG 0
|
#define PIPE_DEBUG 0
|
||||||
|
|
||||||
@@ -452,7 +453,6 @@ int Overlay::initOverlay() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
FILE *displayDeviceFP = NULL;
|
FILE *displayDeviceFP = NULL;
|
||||||
const int MAX_FRAME_BUFFER_NAME_SIZE = 128;
|
|
||||||
char fbType[MAX_FRAME_BUFFER_NAME_SIZE];
|
char fbType[MAX_FRAME_BUFFER_NAME_SIZE];
|
||||||
char msmFbTypePath[MAX_FRAME_BUFFER_NAME_SIZE];
|
char msmFbTypePath[MAX_FRAME_BUFFER_NAME_SIZE];
|
||||||
const char *strDtvPanel = "dtv panel";
|
const char *strDtvPanel = "dtv panel";
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
#include <cutils/log.h>
|
#include <cutils/log.h>
|
||||||
#include <linux/msm_mdp.h>
|
#include <linux/msm_mdp.h>
|
||||||
#include "mdp_version.h"
|
#include "mdp_version.h"
|
||||||
|
#include "qd_utils.h"
|
||||||
|
|
||||||
#define DEBUG 0
|
#define DEBUG 0
|
||||||
|
|
||||||
@@ -146,7 +147,6 @@ int MDPVersion::tokenizeParams(char *inputParams, const char *delim,
|
|||||||
void MDPVersion::updatePanelInfo() {
|
void MDPVersion::updatePanelInfo() {
|
||||||
FILE *displayDeviceFP = NULL;
|
FILE *displayDeviceFP = NULL;
|
||||||
FILE *panelInfoNodeFP = NULL;
|
FILE *panelInfoNodeFP = NULL;
|
||||||
const int MAX_FRAME_BUFFER_NAME_SIZE = 128;
|
|
||||||
char fbType[MAX_FRAME_BUFFER_NAME_SIZE];
|
char fbType[MAX_FRAME_BUFFER_NAME_SIZE];
|
||||||
const char *strCmdPanel = "mipi dsi cmd panel";
|
const char *strCmdPanel = "mipi dsi cmd panel";
|
||||||
const char *strVideoPanel = "mipi dsi video panel";
|
const char *strVideoPanel = "mipi dsi video panel";
|
||||||
|
|||||||
@@ -28,11 +28,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "qd_utils.h"
|
#include "qd_utils.h"
|
||||||
|
|
||||||
|
|
||||||
#define MAX_FRAME_BUFFER_NAME_SIZE (80)
|
|
||||||
#define QD_UTILS_DEBUG 0
|
#define QD_UTILS_DEBUG 0
|
||||||
|
|
||||||
|
namespace qdutils {
|
||||||
|
|
||||||
int getHDMINode(void)
|
int getHDMINode(void)
|
||||||
{
|
{
|
||||||
FILE *displayDeviceFP = NULL;
|
FILE *displayDeviceFP = NULL;
|
||||||
@@ -121,3 +120,4 @@ void getAspectRatioPosition(int destWidth, int destHeight, int srcWidth,
|
|||||||
rect.bottom = srcHeight + rect.top;
|
rect.bottom = srcHeight + rect.top;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}; //namespace qdutils
|
||||||
|
|||||||
@@ -44,11 +44,18 @@
|
|||||||
#include <cutils/properties.h>
|
#include <cutils/properties.h>
|
||||||
#include <hardware/hwcomposer.h>
|
#include <hardware/hwcomposer.h>
|
||||||
|
|
||||||
#define EDID_RAW_DATA_SIZE 640
|
namespace qdutils {
|
||||||
|
#define EDID_RAW_DATA_SIZE 640
|
||||||
|
|
||||||
|
enum qd_utils {
|
||||||
|
MAX_FRAME_BUFFER_NAME_SIZE = 128,
|
||||||
|
MAX_SYSFS_FILE_PATH = 255,
|
||||||
|
SUPPORTED_DOWNSCALE_AREA = (1920*1080)
|
||||||
|
};
|
||||||
|
|
||||||
int getEdidRawData(char *buffer);
|
int getEdidRawData(char *buffer);
|
||||||
|
|
||||||
void getAspectRatioPosition(int destWidth, int destHeight, int srcWidth,
|
void getAspectRatioPosition(int destWidth, int destHeight, int srcWidth,
|
||||||
int srcHeight, hwc_rect_t& rect);
|
int srcHeight, hwc_rect_t& rect);
|
||||||
|
}; //namespace qdutils
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -50,14 +50,10 @@
|
|||||||
#include "qd_utils.h"
|
#include "qd_utils.h"
|
||||||
|
|
||||||
using namespace android;
|
using namespace android;
|
||||||
|
using namespace qdutils;
|
||||||
|
|
||||||
namespace qhwc {
|
namespace qhwc {
|
||||||
|
|
||||||
#define MAX_SYSFS_FILE_PATH 255
|
|
||||||
|
|
||||||
/* Max. resolution assignable to virtual display. */
|
|
||||||
#define SUPPORTED_VIRTUAL_AREA (1920*1080)
|
|
||||||
|
|
||||||
int VirtualDisplay::configure() {
|
int VirtualDisplay::configure() {
|
||||||
if(!openFrameBuffer())
|
if(!openFrameBuffer())
|
||||||
return -1;
|
return -1;
|
||||||
@@ -124,9 +120,9 @@ void VirtualDisplay::setToPrimary(uint32_t maxArea,
|
|||||||
// for eg., primary in 1600p and WFD in 1080p
|
// for eg., primary in 1600p and WFD in 1080p
|
||||||
// we wont use downscale feature because MAX MDP
|
// we wont use downscale feature because MAX MDP
|
||||||
// writeback resolution supported is 1080p (tracked
|
// writeback resolution supported is 1080p (tracked
|
||||||
// by SUPPORTED_VIRTUAL_AREA).
|
// by SUPPORTED_DOWNSCALE_AREA).
|
||||||
if((maxArea == (priW * priH))
|
if((maxArea == (priW * priH))
|
||||||
&& (maxArea <= SUPPORTED_VIRTUAL_AREA)) {
|
&& (maxArea <= SUPPORTED_DOWNSCALE_AREA)) {
|
||||||
// tmpW and tmpH will hold the primary dimensions before we
|
// tmpW and tmpH will hold the primary dimensions before we
|
||||||
// update the aspect ratio if necessary.
|
// update the aspect ratio if necessary.
|
||||||
uint32_t tmpW = priW;
|
uint32_t tmpW = priW;
|
||||||
@@ -143,7 +139,7 @@ void VirtualDisplay::setToPrimary(uint32_t maxArea,
|
|||||||
// We get around this by calculating a new resolution by
|
// We get around this by calculating a new resolution by
|
||||||
// keeping aspect ratio intact.
|
// keeping aspect ratio intact.
|
||||||
hwc_rect r = {0, 0, 0, 0};
|
hwc_rect r = {0, 0, 0, 0};
|
||||||
getAspectRatioPosition(tmpW, tmpH, extW, extH, r);
|
qdutils::getAspectRatioPosition(tmpW, tmpH, extW, extH, r);
|
||||||
extW = r.right - r.left;
|
extW = r.right - r.left;
|
||||||
extH = r.bottom - r.top;
|
extH = r.bottom - r.top;
|
||||||
}
|
}
|
||||||
@@ -156,13 +152,13 @@ void VirtualDisplay::setToPrimary(uint32_t maxArea,
|
|||||||
2. WFD down scale path i.e. when WFD resolution is lower than
|
2. WFD down scale path i.e. when WFD resolution is lower than
|
||||||
primary resolution.
|
primary resolution.
|
||||||
Furthermore, downscale mode is only valid when downscaling from
|
Furthermore, downscale mode is only valid when downscaling from
|
||||||
SUPPORTED_VIRTUAL_AREA to a lower resolution.
|
SUPPORTED_DOWNSCALE_AREA to a lower resolution.
|
||||||
(SUPPORTED_VIRTUAL_AREA represents the maximum resolution that
|
(SUPPORTED_DOWNSCALE_AREA represents the maximum resolution that
|
||||||
we can configure to the virtual display)
|
we can configure to the virtual display)
|
||||||
*/
|
*/
|
||||||
void VirtualDisplay::setDownScaleMode(uint32_t maxArea) {
|
void VirtualDisplay::setDownScaleMode(uint32_t maxArea) {
|
||||||
if((maxArea > (mVInfo.xres * mVInfo.yres))
|
if((maxArea > (mVInfo.xres * mVInfo.yres))
|
||||||
&& (maxArea <= SUPPORTED_VIRTUAL_AREA)) {
|
&& (maxArea <= SUPPORTED_DOWNSCALE_AREA)) {
|
||||||
mHwcContext->dpyAttr[HWC_DISPLAY_VIRTUAL].mDownScaleMode = true;
|
mHwcContext->dpyAttr[HWC_DISPLAY_VIRTUAL].mDownScaleMode = true;
|
||||||
}else {
|
}else {
|
||||||
mHwcContext->dpyAttr[HWC_DISPLAY_VIRTUAL].mDownScaleMode = false;
|
mHwcContext->dpyAttr[HWC_DISPLAY_VIRTUAL].mDownScaleMode = false;
|
||||||
@@ -214,7 +210,7 @@ bool VirtualDisplay::openFrameBuffer()
|
|||||||
int fbNum = overlay::Overlay::getInstance()->
|
int fbNum = overlay::Overlay::getInstance()->
|
||||||
getFbForDpy(HWC_DISPLAY_VIRTUAL);
|
getFbForDpy(HWC_DISPLAY_VIRTUAL);
|
||||||
|
|
||||||
char strDevPath[MAX_SYSFS_FILE_PATH];
|
char strDevPath[qdutils::MAX_SYSFS_FILE_PATH];
|
||||||
snprintf(strDevPath,sizeof(strDevPath), "/dev/graphics/fb%d", fbNum);
|
snprintf(strDevPath,sizeof(strDevPath), "/dev/graphics/fb%d", fbNum);
|
||||||
|
|
||||||
mFd = open(strDevPath, O_RDWR);
|
mFd = open(strDevPath, O_RDWR);
|
||||||
|
|||||||
Reference in New Issue
Block a user