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

Commit 5a120411 authored by Mathias Agopian's avatar Mathias Agopian Committed by Android Git Automerger
Browse files

am 0188eeff: Merge "only use glReadPixels() when needed when taking screenshots" into jb-mr2-dev

* commit '0188eeff':
  only use glReadPixels() when needed when taking screenshots
parents d839908e 0188eeff
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -109,6 +109,9 @@ SurfaceFlinger::SurfaceFlinger()
    // debugging stuff...
    char value[PROPERTY_VALUE_MAX];

    property_get("ro.bq.gpu_to_cpu_unsupported", value, "0");
    mGpuToCpuSupported = !!atoi(value);

    property_get("debug.sf.showupdates", value, "0");
    mDebugRegion = atoi(value);

@@ -2546,15 +2549,16 @@ status_t SurfaceFlinger::captureScreen(const sp<IBinder>& display,
        virtual bool handler() {
            Mutex::Autolock _l(flinger->mStateLock);
            sp<const DisplayDevice> hw(flinger->getDisplayDevice(display));
            // TODO: if we know the GL->CPU path works, we can call
            // When we know the GL->CPU path works, we can call
            // captureScreenImplLocked() directly, instead of using the
            // "CpuConsumer" version, which is much less efficient -- it is
            // however needed by some older drivers.
            if (isCpuConsumer) {
                result = flinger->captureScreenImplCpuConsumerLocked(hw,

            if (flinger->mGpuToCpuSupported || !isCpuConsumer) {
                result = flinger->captureScreenImplLocked(hw,
                        producer, reqWidth, reqHeight, minLayerZ, maxLayerZ);
            } else {
                result = flinger->captureScreenImplLocked(hw,
                result = flinger->captureScreenImplCpuConsumerLocked(hw,
                        producer, reqWidth, reqHeight, minLayerZ, maxLayerZ);
            }
            return true;
+1 −0
Original line number Diff line number Diff line
@@ -412,6 +412,7 @@ private:
    HWComposer* mHwc;
    GLuint mProtectedTexName;
    nsecs_t mBootTime;
    bool mGpuToCpuSupported;
    sp<EventThread> mEventThread;
    GLint mMaxViewportDims[2];
    GLint mMaxTextureSize;