exynos7580: only build en/decoders that we support
[GitHub/LineageOS/android_hardware_samsung_slsi_exynos7580.git] / libvirtualdisplaymodule / ExynosVirtualDisplayModule.h
CommitLineData
cd9434cc
T
1#ifndef EXYNOS_VIRTUAL_DISPLAY_MODULE_H
2#define EXYNOS_VIRTUAL_DISPLAY_MODULE_H
3
4#include "ExynosVirtualDisplay.h"
5
6class ExynosVirtualDisplayModule : public ExynosVirtualDisplay {
7 public:
8 ExynosVirtualDisplayModule(struct exynos5_hwc_composer_device_1_t *pdev);
9 ~ExynosVirtualDisplayModule();
10
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);
19
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();
31};
32
33#endif