diff options
author | Christopher N. Hesse <raymanfx@gmail.com> | 2016-03-06 13:02:12 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2016-03-22 17:03:57 +0100 |
commit | d2276c78d4ec9a99340191eec64c6026b711d7f7 (patch) | |
tree | 8e76ac4dc09656d9a44a57c72adc129f1925e7b0 | |
parent | 92303f329838e19b799786c09a2d84306169757e (diff) | |
download | android_hardware_samsung_slsi_exynos5430-d2276c78d4ec9a99340191eec64c6026b711d7f7.tar.gz android_hardware_samsung_slsi_exynos5430-d2276c78d4ec9a99340191eec64c6026b711d7f7.tar.xz android_hardware_samsung_slsi_exynos5430-d2276c78d4ec9a99340191eec64c6026b711d7f7.zip |
libhwcmodule: Add constants and functions for framebuffer abstraction
Change-Id: Id080bbf973c24a53606410c0d34b143b050f5c38
-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}; |