summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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};