summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher N. Hesse <raymanfx@gmail.com>2016-03-06 13:02:12 +0100
committerAndreas Schneider <asn@cryptomilk.org>2016-03-22 17:03:57 +0100
commitd2276c78d4ec9a99340191eec64c6026b711d7f7 (patch)
tree8e76ac4dc09656d9a44a57c72adc129f1925e7b0
parent92303f329838e19b799786c09a2d84306169757e (diff)
downloadandroid_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.h47
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};