Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d18c33f7 authored by Naseer Ahmed's avatar Naseer Ahmed Committed by Gerrit - the friendly Code Review server
Browse files

surfaceflinger: Compile QC addons with USE_HWC2

Change-Id: If2ee044411cb883e75e34b458be65cf4bf8d3b69
parent 01a6a35c
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ public:

    HWComposer(const sp<SurfaceFlinger>& flinger);

    ~HWComposer();
    virtual ~HWComposer();

    void setEventHandler(EventHandler* handler);

@@ -160,6 +160,8 @@ public:

    // for debugging ----------------------------------------------------------
    void dump(String8& out) const;
    // Extensions
    virtual inline bool isVDSEnabled() const { return true; };

private:
    static const int32_t VIRTUAL_DISPLAY_ID_BASE = 2;
+13 −0
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ Layer* DisplayUtils::getLayerInstance(SurfaceFlinger* flinger,
    }
}

#ifndef USE_HWC2
HWComposer* DisplayUtils::getHWCInstance(
                        const sp<SurfaceFlinger>& flinger,
                        HWComposer::EventHandler& handler) {
@@ -99,6 +100,16 @@ HWComposer* DisplayUtils::getHWCInstance(
        return new HWComposer(flinger,handler);
    }
}
#else
HWComposer* DisplayUtils::getHWCInstance(
                        const sp<SurfaceFlinger>& flinger) {
    if(sUseExtendedImpls) {
        return new ExHWComposer(flinger);
    } else {
        return new HWComposer(flinger);
    }
}
#endif

void DisplayUtils::initVDSInstance(HWComposer* hwc, int32_t hwcDisplayId,
        sp<IGraphicBufferProducer> currentStateSurface, sp<DisplaySurface> &dispSurface,
@@ -156,8 +167,10 @@ bool DisplayUtils::createV4L2BasedVirtualDisplay(HWComposer* hwc, int32_t &hwcDi
        surface = eglCreateWindowSurface(display, config, window, NULL);
        eglQuerySurface(display, surface, EGL_WIDTH, &w);
        eglQuerySurface(display, surface, EGL_HEIGHT, &h);
#ifndef USE_HWC2
        if(hwc->setVirtualDisplayProperties(hwcDisplayId, w, h, format) != NO_ERROR)
            return false;
#endif

        dispSurface = new FramebufferSurface(*hwc, currentStateType, bqConsumer);
        producer = bqProducer;
+5 −0
Original line number Diff line number Diff line
@@ -56,8 +56,13 @@ class DisplayUtils {
    Layer* getLayerInstance(SurfaceFlinger*, const sp<Client>&,
                            const String8&, uint32_t,
                            uint32_t, uint32_t);
#ifndef USE_HWC2
    HWComposer* getHWCInstance(const sp<SurfaceFlinger>& flinger,
                            HWComposer::EventHandler& handler);
#else
  HWComposer* getHWCInstance(const sp<SurfaceFlinger>& flinger);
#endif

    void initVDSInstance(HWComposer* hwc, int32_t hwcDisplayId,
            sp<IGraphicBufferProducer> currentStateSurface, sp<DisplaySurface> &dispSurface,
            sp<IGraphicBufferProducer> &producer, sp<IGraphicBufferProducer> bqProducer,
+5 −0
Original line number Diff line number Diff line
@@ -35,9 +35,14 @@

namespace android {

#ifndef USE_HWC2
ExHWComposer::ExHWComposer(const sp<SurfaceFlinger>& flinger,
                           EventHandler& handler)
        : HWComposer(flinger, handler) {
#else
ExHWComposer::ExHWComposer(const sp<SurfaceFlinger>& flinger)
    : HWComposer(flinger) {
#endif

    mVDSEnabled = false;
    char property[PROPERTY_VALUE_MAX] = {0};
+5 −2
Original line number Diff line number Diff line
@@ -38,8 +38,11 @@ class ExHWComposer : public HWComposer
public:

    ExHWComposer(
               const sp<SurfaceFlinger>& flinger,
               EventHandler& handler);
               const sp<SurfaceFlinger>& flinger
#ifndef USE_HWC2
               , EventHandler& handler
#endif
    );

    virtual ~ExHWComposer();

Loading