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

Commit fe91b55e authored by Jim Shargo's avatar Jim Shargo Committed by Android (Google) Code Review
Browse files

Merge changes I70943093,Ib1974f30 into main

* changes:
  tests: Eliminate annoying and noisy CompositionEngine errors
  tests: Improve logging for objects that are causing errors
parents 0b577d98 f48bef8e
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -34,6 +34,8 @@
#include <binder/Parcel.h>
#include <binder/ProcessState.h>

#include <gui/IConsumerListener.h>
#include <gui/IGraphicBufferConsumer.h>
#include <gui/ISurfaceComposer.h>
#include <gui/Surface.h>
#include <gui/SurfaceComposerClient.h>
@@ -1225,9 +1227,17 @@ public:
        sp<IGraphicBufferConsumer> consumer;
        sp<IGraphicBufferProducer> producer;
        BufferQueue::createBufferQueue(&producer, &consumer);
        consumer->setConsumerName(String8("Virtual disp consumer"));
        consumer->setConsumerName(String8("Virtual disp consumer (MultiDisplayTests)"));
        consumer->setDefaultBufferSize(width, height);
        mProducers.push_back(producer);

        class StubConsumerListener : public BnConsumerListener {
            virtual void onFrameAvailable(const BufferItem&) override {}
            virtual void onBuffersReleased() override {}
            virtual void onSidebandStreamChanged() override {}
        };

        consumer->consumerConnect(sp<StubConsumerListener>::make(), true);
        mBufferQueues.push_back({consumer, producer});

        std::string name = "VirtualDisplay";
        name += std::to_string(mVirtualDisplays.size());
@@ -1244,7 +1254,7 @@ public:
    }

    std::vector<sp<IBinder>> mVirtualDisplays;
    std::vector<sp<IGraphicBufferProducer>> mProducers;
    std::vector<std::tuple<sp<IGraphicBufferConsumer>, sp<IGraphicBufferProducer>>> mBufferQueues;
};

TEST_F(MultiDisplayTests, drop_touch_if_layer_on_invalid_display) {
+13 −5
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#pragma clang diagnostic ignored "-Wconversion"

#include <common/FlagManager.h>
#include <gui/IConsumerListener.h>
#include <ui/DisplayState.h>

#include "LayerTransactionTest.h"
@@ -45,11 +46,17 @@ protected:
        SurfaceComposerClient::getDisplayState(mMainDisplay, &mMainDisplayState);
        SurfaceComposerClient::getActiveDisplayMode(mMainDisplay, &mMainDisplayMode);

        sp<IGraphicBufferConsumer> consumer;
        BufferQueue::createBufferQueue(&mProducer, &consumer);
        consumer->setConsumerName(String8("Virtual disp consumer"));
        consumer->setDefaultBufferSize(mMainDisplayMode.resolution.getWidth(),
        BufferQueue::createBufferQueue(&mProducer, &mConsumer);
        mConsumer->setConsumerName(String8("Virtual disp consumer (MultiDisplayLayerBounds)"));
        mConsumer->setDefaultBufferSize(mMainDisplayMode.resolution.getWidth(),
                                        mMainDisplayMode.resolution.getHeight());

        class StubConsumerListener : public BnConsumerListener {
            virtual void onFrameAvailable(const BufferItem&) override {}
            virtual void onBuffersReleased() override {}
            virtual void onSidebandStreamChanged() override {}
        };
        mConsumer->consumerConnect(sp<StubConsumerListener>::make(), true);
    }

    virtual void TearDown() {
@@ -92,6 +99,7 @@ protected:
    sp<IBinder> mMainDisplay;
    PhysicalDisplayId mMainDisplayId;
    sp<IBinder> mVirtualDisplay;
    sp<IGraphicBufferConsumer> mConsumer;
    sp<IGraphicBufferProducer> mProducer;
    sp<SurfaceControl> mColorLayer;
    Color mExpectedColor = {63, 63, 195, 255};
+2 −2
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ public:
                        GRALLOC_USAGE_HW_VIDEO_ENCODER | GRALLOC_USAGE_SW_READ_OFTEN);
                sp<BufferListener> listener = sp<BufferListener>::make(this);
                itemConsumer->setFrameAvailableListener(listener);
                itemConsumer->setName(String8("Virtual disp consumer"));
                itemConsumer->setName(String8("Virtual disp consumer (TransactionTest)"));
                itemConsumer->setDefaultBufferSize(resolution.getWidth(), resolution.getHeight());
#else
                sp<IGraphicBufferProducer> producer;
@@ -66,7 +66,7 @@ public:
                sp<BufferItemConsumer> itemConsumer;
                BufferQueue::createBufferQueue(&producer, &consumer);

                consumer->setConsumerName(String8("Virtual disp consumer"));
                consumer->setConsumerName(String8("Virtual disp consumer (TransactionTest)"));
                consumer->setDefaultBufferSize(resolution.getWidth(), resolution.getHeight());

                itemConsumer = sp<BufferItemConsumer>::make(consumer,
+2 −2
Original line number Diff line number Diff line
@@ -29,14 +29,14 @@ protected:
    void SetUp() override {
#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
        mGLConsumer = sp<GLConsumer>::make(GLConsumer::TEXTURE_EXTERNAL, true, false, false);
        mGLConsumer->setName(String8("Virtual disp consumer"));
        mGLConsumer->setName(String8("Virtual disp consumer (VirtualDisplayTest)"));
        mGLConsumer->setDefaultBufferSize(100, 100);
        mProducer = mGLConsumer->getSurface()->getIGraphicBufferProducer();
#else
        sp<IGraphicBufferConsumer> consumer;

        BufferQueue::createBufferQueue(&mProducer, &consumer);
        consumer->setConsumerName(String8("Virtual disp consumer"));
        consumer->setConsumerName(String8("Virtual disp consumer (VirtualDisplayTest)"));
        consumer->setDefaultBufferSize(100, 100);

        mGLConsumer = sp<GLConsumer>::make(consumer, GLConsumer::TEXTURE_EXTERNAL, true, false);