diff options
author | 2024-12-05 18:26:41 +0000 | |
---|---|---|
committer | 2024-12-05 18:26:41 +0000 | |
commit | fe91b55e038116d6553674745ace19f40c53b265 (patch) | |
tree | a2739fb1956b9b2d2d42b9aca4709c278c99ff1d | |
parent | 0b577d98c9e1758a24c9d9f7cf13e3d637667fdd (diff) | |
parent | f48bef8ed6b6733bb75591fc919620a0fdbf336f (diff) |
Merge changes I70943093,Ib1974f30 into main
* changes:
tests: Eliminate annoying and noisy CompositionEngine errors
tests: Improve logging for objects that are causing errors
4 files changed, 30 insertions, 12 deletions
diff --git a/libs/gui/tests/EndToEndNativeInputTest.cpp b/libs/gui/tests/EndToEndNativeInputTest.cpp index 45f41f1e8f..06f00a4d74 100644 --- a/libs/gui/tests/EndToEndNativeInputTest.cpp +++ b/libs/gui/tests/EndToEndNativeInputTest.cpp @@ -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) { diff --git a/services/surfaceflinger/tests/MultiDisplayLayerBounds_test.cpp b/services/surfaceflinger/tests/MultiDisplayLayerBounds_test.cpp index 56cf13d7fe..65add63165 100644 --- a/services/surfaceflinger/tests/MultiDisplayLayerBounds_test.cpp +++ b/services/surfaceflinger/tests/MultiDisplayLayerBounds_test.cpp @@ -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(), - mMainDisplayMode.resolution.getHeight()); + 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}; diff --git a/services/surfaceflinger/tests/TransactionTestHarnesses.h b/services/surfaceflinger/tests/TransactionTestHarnesses.h index bf5957a89a..c95c875746 100644 --- a/services/surfaceflinger/tests/TransactionTestHarnesses.h +++ b/services/surfaceflinger/tests/TransactionTestHarnesses.h @@ -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, diff --git a/services/surfaceflinger/tests/VirtualDisplay_test.cpp b/services/surfaceflinger/tests/VirtualDisplay_test.cpp index d69378cec2..1108c7fe56 100644 --- a/services/surfaceflinger/tests/VirtualDisplay_test.cpp +++ b/services/surfaceflinger/tests/VirtualDisplay_test.cpp @@ -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); |