1 #ifndef EXYNOS_VIRTUAL_DISPLAY_MODULE_H
2 #define EXYNOS_VIRTUAL_DISPLAY_MODULE_H
4 #include "ExynosVirtualDisplay.h"
6 class ExynosVirtualDisplayModule
: public ExynosVirtualDisplay
{
8 ExynosVirtualDisplayModule(struct exynos5_hwc_composer_device_1_t
*pdev
);
9 ~ExynosVirtualDisplayModule();
11 int postFrame(hwc_display_contents_1_t
*contents
);
12 int postToMPP(hwc_layer_1_t
& layer
, hwc_layer_1_t
*layerB
,
13 int index
, hwc_display_contents_1_t
*contents
);
14 void processGles(hwc_display_contents_1_t
*contents
);
15 void processHwc(hwc_display_contents_1_t
*contents
);
16 void processMixed(hwc_display_contents_1_t
*contents
);
17 bool is2StepBlendingRequired(hwc_layer_1_t
& layer
, buffer_handle_t
& outbuf
);
18 bool manageFences(hwc_display_contents_1_t
*contents
, int fence
);
20 virtual int clearDisplay();
21 virtual int32_t getDisplayAttributes(const uint32_t attribute
);
22 virtual int prepare(hwc_display_contents_1_t
*contents
);
23 virtual int set(hwc_display_contents_1_t
*contents
);
24 virtual void determineYuvOverlay(hwc_display_contents_1_t
*contents
);
25 virtual void determineSupportedOverlays(hwc_display_contents_1_t
*contents
);
26 virtual bool isOverlaySupported(hwc_layer_1_t
& layer
,
27 size_t index
, bool useVPPOverlay
,
28 ExynosMPPModule
**supportedInternalMPP
,
29 ExynosMPPModule
**supportedExternalMPP
);
30 virtual void deInit();