diff options
-rw-r--r-- | libhwcmodule/ExynosHWCModule.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/libhwcmodule/ExynosHWCModule.h b/libhwcmodule/ExynosHWCModule.h index 1e2576d..67996a0 100644 --- a/libhwcmodule/ExynosHWCModule.h +++ b/libhwcmodule/ExynosHWCModule.h @@ -30,6 +30,53 @@ #define DUAL_VIDEO_OVERLAY_SUPPORT +/* Framebuffer API specific defines (decon_fb.h) */ +#define WIN_STATE_DISABLED s3c_fb_win_config::S3C_FB_WIN_STATE_DISABLED +#define WIN_STATE_COLOR s3c_fb_win_config::S3C_FB_WIN_STATE_COLOR +#define WIN_STATE_BUFFER s3c_fb_win_config::S3C_FB_WIN_STATE_BUFFER +#define BLENDING_NONE S3C_FB_BLENDING_NONE +#define BLENDING_MAX S3C_FB_BLENDING_MAX +#define PIXEL_FORMAT_MAX S3C_FB_PIXEL_FORMAT_MAX + +const size_t SOC_NUM_HW_WINDOWS = S3C_FB_MAX_WIN; + +typedef s3c_fb_win_config fb_win_config; +typedef s3c_fb_win_config_data fb_win_config_data; + +inline s3c_fb_blending halBlendingToSocBlending(int32_t blending) +{ + switch (blending) { + case HWC_BLENDING_NONE: + return S3C_FB_BLENDING_NONE; + case HWC_BLENDING_PREMULT: + return S3C_FB_BLENDING_PREMULT; + case HWC_BLENDING_COVERAGE: + return S3C_FB_BLENDING_COVERAGE; + default: + return S3C_FB_BLENDING_MAX; + } +} + +inline s3c_fb_pixel_format halFormatToSocFormat(int format) +{ + switch (format) { + case HAL_PIXEL_FORMAT_RGBA_8888: + return S3C_FB_PIXEL_FORMAT_RGBA_8888; + case HAL_PIXEL_FORMAT_RGBX_8888: + return S3C_FB_PIXEL_FORMAT_RGBX_8888; + case HAL_PIXEL_FORMAT_RGB_565: + return S3C_FB_PIXEL_FORMAT_RGB_565; + case HAL_PIXEL_FORMAT_BGRA_8888: + return S3C_FB_PIXEL_FORMAT_BGRA_8888; +#ifdef EXYNOS_SUPPORT_BGRX_8888 + case HAL_PIXEL_FORMAT_BGRX_8888: + return S3C_FB_PIXEL_FORMAT_BGRX_8888; +#endif + default: + return S3C_FB_PIXEL_FORMAT_MAX; + } +} + #ifdef FIMD_BW_OVERLAP_CHECK const size_t MAX_NUM_FIMD_DMA_CH = 2; const uint32_t FIMD_DMA_CH_IDX[] = {0, 1, 1, 1, 0}; |