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

Commit 27c3c9e7 authored by Chia-I Wu's avatar Chia-I Wu Committed by Android (Google) Code Review
Browse files

Merge changes from topic "sf-re-3"

* changes:
  surfaceflinger: remove SurfaceFlingerConsumer
  surfaceflinger: move all SurfaceFlingerConsumer data members
  surfaceflinger: move SurfaceFlingerConsumer::mPendingRelease
  surfaceflinger: move SurfaceFlingerConsumer::mContentsChangedListener
  surfaceflinger: move SurfaceFlingerConsumer::mLayer
  surfaceflinger: remove BufferLayerConsumer::scaleDownCrop
  surfaceflinger: remove BufferLayerConsumer::computeTransformMatrix
  surfaceflinger: simplify BufferLayerConsumer constructor
  surfaceflinger: remove BufferLayerConsumer::mUseFenceSync
  surfaceflinger: remove support for context detaching
  surfaceflinger: remove BufferLayerConsumer::releaseTexImage
  surfaceflinger: add BufferLayerConsumer
parents 96da4649 0cb75ac1
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -15,13 +15,13 @@ LOCAL_SRC_FILES := \
    GpuService.cpp \
    GpuService.cpp \
    Layer.cpp \
    Layer.cpp \
    BufferLayer.cpp \
    BufferLayer.cpp \
    BufferLayerConsumer.cpp \
    ColorLayer.cpp \
    ColorLayer.cpp \
    LayerRejecter.cpp \
    LayerRejecter.cpp \
    LayerVector.cpp \
    LayerVector.cpp \
    MessageQueue.cpp \
    MessageQueue.cpp \
    MonitoredProducer.cpp \
    MonitoredProducer.cpp \
    SurfaceFlinger.cpp \
    SurfaceFlinger.cpp \
    SurfaceFlingerConsumer.cpp \
    SurfaceInterceptor.cpp \
    SurfaceInterceptor.cpp \
    SurfaceTracing.cpp \
    SurfaceTracing.cpp \
    Transform.cpp \
    Transform.cpp \
+2 −2
Original line number Original line Diff line number Diff line
@@ -435,7 +435,7 @@ Region BufferLayer::latchBuffer(bool& recomputeVisibleRegions, nsecs_t latchTime
        // layer update so we check again at the next opportunity.
        // layer update so we check again at the next opportunity.
        mFlinger->signalLayerUpdate();
        mFlinger->signalLayerUpdate();
        return outDirtyRegion;
        return outDirtyRegion;
    } else if (updateResult == SurfaceFlingerConsumer::BUFFER_REJECTED) {
    } else if (updateResult == BufferLayerConsumer::BUFFER_REJECTED) {
        // If the buffer has been rejected, remove it from the shadow queue
        // If the buffer has been rejected, remove it from the shadow queue
        // and return early
        // and return early
        if (queuedBuffer) {
        if (queuedBuffer) {
@@ -660,7 +660,7 @@ void BufferLayer::onFirstRef() {
    sp<IGraphicBufferConsumer> consumer;
    sp<IGraphicBufferConsumer> consumer;
    BufferQueue::createBufferQueue(&producer, &consumer, true);
    BufferQueue::createBufferQueue(&producer, &consumer, true);
    mProducer = new MonitoredProducer(producer, mFlinger, this);
    mProducer = new MonitoredProducer(producer, mFlinger, this);
    mSurfaceFlingerConsumer = new SurfaceFlingerConsumer(consumer, mTextureName, this);
    mSurfaceFlingerConsumer = new BufferLayerConsumer(consumer, mTextureName, this);
    mSurfaceFlingerConsumer->setConsumerUsageBits(getEffectiveUsage(0));
    mSurfaceFlingerConsumer->setConsumerUsageBits(getEffectiveUsage(0));
    mSurfaceFlingerConsumer->setContentsChangedListener(this);
    mSurfaceFlingerConsumer->setContentsChangedListener(this);
    mSurfaceFlingerConsumer->setName(mName);
    mSurfaceFlingerConsumer->setName(mName);
+5 −5
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@


#pragma once
#pragma once


#include "BufferLayerConsumer.h"
#include "Client.h"
#include "Client.h"
#include "Layer.h"
#include "Layer.h"
#include "DisplayHardware/HWComposer.h"
#include "DisplayHardware/HWComposer.h"
@@ -26,7 +27,6 @@
#include "RenderEngine/Mesh.h"
#include "RenderEngine/Mesh.h"
#include "RenderEngine/Texture.h"
#include "RenderEngine/Texture.h"
#include "SurfaceFlinger.h"
#include "SurfaceFlinger.h"
#include "SurfaceFlingerConsumer.h"
#include "Transform.h"
#include "Transform.h"


#include <gui/ISurfaceComposerClient.h>
#include <gui/ISurfaceComposerClient.h>
@@ -48,13 +48,13 @@
namespace android {
namespace android {


/*
/*
 * A new BufferQueue and a new SurfaceFlingerConsumer are created when the
 * A new BufferQueue and a new BufferLayerConsumer are created when the
 * BufferLayer is first referenced.
 * BufferLayer is first referenced.
 *
 *
 * This also implements onFrameAvailable(), which notifies SurfaceFlinger
 * This also implements onFrameAvailable(), which notifies SurfaceFlinger
 * that new data has arrived.
 * that new data has arrived.
 */
 */
class BufferLayer : public Layer, public SurfaceFlingerConsumer::ContentsChangedListener {
class BufferLayer : public Layer, public BufferLayerConsumer::ContentsChangedListener {
public:
public:
    BufferLayer(SurfaceFlinger* flinger, const sp<Client>& client, const String8& name, uint32_t w,
    BufferLayer(SurfaceFlinger* flinger, const sp<Client>& client, const String8& name, uint32_t w,
                uint32_t h, uint32_t flags);
                uint32_t h, uint32_t flags);
@@ -137,7 +137,7 @@ private:
    void onFirstRef() override;
    void onFirstRef() override;


    // Interface implementation for
    // Interface implementation for
    // SurfaceFlingerConsumer::ContentsChangedListener
    // BufferLayerConsumer::ContentsChangedListener
    void onFrameAvailable(const BufferItem& item) override;
    void onFrameAvailable(const BufferItem& item) override;
    void onFrameReplaced(const BufferItem& item) override;
    void onFrameReplaced(const BufferItem& item) override;
    void onSidebandStreamChanged() override;
    void onSidebandStreamChanged() override;
@@ -170,7 +170,7 @@ public:
    sp<IGraphicBufferProducer> getProducer() const;
    sp<IGraphicBufferProducer> getProducer() const;


private:
private:
    sp<SurfaceFlingerConsumer> mSurfaceFlingerConsumer;
    sp<BufferLayerConsumer> mSurfaceFlingerConsumer;


    // Check all of the local sync points to ensure that all transactions
    // Check all of the local sync points to ensure that all transactions
    // which need to have been applied prior to the frame which is about to
    // which need to have been applied prior to the frame which is about to
Loading