diff options
author | 2023-10-17 12:31:08 -0700 | |
---|---|---|
committer | 2023-10-27 14:06:21 -0700 | |
commit | 107788e8ce8f855b7555680e222f563810a51793 (patch) | |
tree | 7d62e524f41b4e42c456a38a007ad6e583bc6e14 | |
parent | a1277efde03027ad1ce78a8318dc613a0108a679 (diff) |
libgui: use flag MACRO for BQ_SETFRAMERATE
Bug: 281695725
Test: presubmit
Change-Id: I644dadbfc72cd50d80c50d36da96078253bbc009
-rw-r--r-- | libs/bufferqueueconverter/Android.bp | 2 | ||||
-rw-r--r-- | libs/gui/Android.bp | 38 | ||||
-rw-r--r-- | libs/gui/BLASTBufferQueue.cpp | 6 | ||||
-rw-r--r-- | libs/gui/BufferQueue.cpp | 3 | ||||
-rw-r--r-- | libs/gui/BufferQueueProducer.cpp | 4 | ||||
-rw-r--r-- | libs/gui/FrameRateUtils.cpp | 6 | ||||
-rw-r--r-- | libs/gui/IGraphicBufferProducer.cpp | 8 | ||||
-rw-r--r-- | libs/gui/Surface.cpp | 4 | ||||
-rw-r--r-- | libs/gui/include/gui/BLASTBufferQueue.h | 6 | ||||
-rw-r--r-- | libs/gui/include/gui/BufferQueue.h | 6 | ||||
-rw-r--r-- | libs/gui/include/gui/BufferQueueProducer.h | 4 | ||||
-rw-r--r-- | libs/gui/include/gui/Flags.h | 22 | ||||
-rw-r--r-- | libs/gui/include/gui/IConsumerListener.h | 6 | ||||
-rw-r--r-- | libs/gui/include/gui/IGraphicBufferProducer.h | 5 | ||||
-rw-r--r-- | libs/gui/tests/Android.bp | 2 | ||||
-rw-r--r-- | libs/gui/tests/BufferQueue_test.cpp | 4 | ||||
-rw-r--r-- | libs/nativedisplay/include/surfacetexture/SurfaceTexture.h | 4 | ||||
-rw-r--r-- | libs/nativedisplay/surfacetexture/SurfaceTexture.cpp | 2 |
18 files changed, 63 insertions, 69 deletions
diff --git a/libs/bufferqueueconverter/Android.bp b/libs/bufferqueueconverter/Android.bp index d4605ea13a..3fe71cefce 100644 --- a/libs/bufferqueueconverter/Android.bp +++ b/libs/bufferqueueconverter/Android.bp @@ -34,5 +34,7 @@ cc_library { "libbase", "liblog", ], + static_libs: ["libguiflags"], export_include_dirs: ["include"], + export_static_lib_headers: ["libguiflags"], } diff --git a/libs/gui/Android.bp b/libs/gui/Android.bp index f17a6547f7..c84ee1f9da 100644 --- a/libs/gui/Android.bp +++ b/libs/gui/Android.bp @@ -20,6 +20,25 @@ package { default_applicable_licenses: ["frameworks_native_license"], } +aconfig_declarations { + name: "libgui_flags", + package: "com.android.graphics.libgui.flags", + srcs: ["libgui_flags.aconfig"], +} + +cc_aconfig_library { + name: "libguiflags", + host_supported: true, + vendor_available: true, + min_sdk_version: "29", + apex_available: [ + "//apex_available:platform", + "com.android.media.swcodec", + "test_com.android.media.swcodec", + ], + aconfig_declarations: "libgui_flags", +} + cc_library_headers { name: "libgui_headers", vendor_available: true, @@ -36,6 +55,8 @@ cc_library_headers { "android.hardware.graphics.bufferqueue@1.0", "android.hardware.graphics.bufferqueue@2.0", ], + static_libs: ["libguiflags"], + export_static_lib_headers: ["libguiflags"], min_sdk_version: "29", // TODO(b/218719284) can media use be constrained to libgui_bufferqueue_static? apex_available: [ @@ -192,19 +213,6 @@ cc_library_static { }, } -aconfig_declarations { - name: "libgui_flags", - package: "com.android.graphics.libgui.flags", - srcs: ["libgui_flags.aconfig"], -} - -cc_aconfig_library { - name: "libguiflags", - host_supported: true, - vendor_available: true, - aconfig_declarations: "libgui_flags", -} - filegroup { name: "libgui-sources", srcs: [ @@ -265,6 +273,9 @@ cc_defaults { "libbinder", "libGLESv2", ], + export_static_lib_headers: [ + "libguiflags", + ], } cc_library_shared { @@ -460,6 +471,7 @@ cc_library_static { static_libs: [ "libgtest", "libgmock", + "libguiflags", ], srcs: [ diff --git a/libs/gui/BLASTBufferQueue.cpp b/libs/gui/BLASTBufferQueue.cpp index dd0a028865..8d0331ebb5 100644 --- a/libs/gui/BLASTBufferQueue.cpp +++ b/libs/gui/BLASTBufferQueue.cpp @@ -26,7 +26,7 @@ #include <gui/BufferQueueConsumer.h> #include <gui/BufferQueueCore.h> #include <gui/BufferQueueProducer.h> -#include <gui/Flags.h> + #include <gui/FrameRateUtils.h> #include <gui/GLConsumer.h> #include <gui/IProducerListener.h> @@ -41,8 +41,6 @@ #include <android-base/thread_annotations.h> #include <chrono> -#include <com_android_graphics_libgui_flags.h> - using namespace com::android::graphics::libgui; using namespace std::chrono_literals; @@ -144,7 +142,7 @@ void BLASTBufferItemConsumer::onSidebandStreamChanged() { } } -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) void BLASTBufferItemConsumer::onSetFrameRate(float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy) { sp<BLASTBufferQueue> bbq = mBLASTBufferQueue.promote(); diff --git a/libs/gui/BufferQueue.cpp b/libs/gui/BufferQueue.cpp index ab0f6d213f..b0f6e69115 100644 --- a/libs/gui/BufferQueue.cpp +++ b/libs/gui/BufferQueue.cpp @@ -22,7 +22,6 @@ #include <gui/BufferQueueConsumer.h> #include <gui/BufferQueueCore.h> #include <gui/BufferQueueProducer.h> -#include <gui/Flags.h> namespace android { @@ -99,7 +98,7 @@ void BufferQueue::ProxyConsumerListener::addAndGetFrameTimestamps( } } -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) void BufferQueue::ProxyConsumerListener::onSetFrameRate(float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy) { sp<ConsumerListener> listener(mConsumerListener.promote()); diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp index 67dff6dec6..19693e37cf 100644 --- a/libs/gui/BufferQueueProducer.cpp +++ b/libs/gui/BufferQueueProducer.cpp @@ -32,7 +32,7 @@ #include <gui/BufferItem.h> #include <gui/BufferQueueCore.h> #include <gui/BufferQueueProducer.h> -#include <gui/Flags.h> + #include <gui/FrameRateUtils.h> #include <gui/GLConsumer.h> #include <gui/IConsumerListener.h> @@ -1753,7 +1753,7 @@ status_t BufferQueueProducer::setAutoPrerotation(bool autoPrerotation) { return NO_ERROR; } -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) status_t BufferQueueProducer::setFrameRate(float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy) { ATRACE_CALL(); diff --git a/libs/gui/FrameRateUtils.cpp b/libs/gui/FrameRateUtils.cpp index 6993bfab45..11524e2b51 100644 --- a/libs/gui/FrameRateUtils.cpp +++ b/libs/gui/FrameRateUtils.cpp @@ -14,14 +14,16 @@ * limitations under the License. */ -#include <gui/Flags.h> #include <gui/FrameRateUtils.h> #include <system/window.h> #include <utils/Log.h> #include <cmath> +#include <com_android_graphics_libgui_flags.h> + namespace android { +using namespace com::android::graphics::libgui; // Returns true if the frameRate is valid. // // @param frameRate the frame rate in Hz @@ -53,7 +55,7 @@ bool ValidateFrameRate(float frameRate, int8_t compatibility, int8_t changeFrame changeFrameRateStrategy != ANATIVEWINDOW_CHANGE_FRAME_RATE_ALWAYS) { ALOGE("%s failed - invalid change frame rate strategy value %d", functionName, changeFrameRateStrategy); - if (FLAG_BQ_SET_FRAME_RATE) { + if (flags::bq_setframerate()) { return false; } } diff --git a/libs/gui/IGraphicBufferProducer.cpp b/libs/gui/IGraphicBufferProducer.cpp index d0c09e481d..e81c098b85 100644 --- a/libs/gui/IGraphicBufferProducer.cpp +++ b/libs/gui/IGraphicBufferProducer.cpp @@ -28,7 +28,7 @@ #include <binder/IInterface.h> #include <gui/BufferQueueDefs.h> -#include <gui/Flags.h> + #include <gui/IGraphicBufferProducer.h> #include <gui/IProducerListener.h> #include <gui/bufferqueue/1.0/H2BGraphicBufferProducer.h> @@ -763,7 +763,7 @@ public: } return result; } -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) virtual status_t setFrameRate(float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy) override { Parcel data, reply; @@ -973,7 +973,7 @@ status_t IGraphicBufferProducer::setAutoPrerotation(bool autoPrerotation) { return INVALID_OPERATION; } -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) status_t IGraphicBufferProducer::setFrameRate(float /*frameRate*/, int8_t /*compatibility*/, int8_t /*changeFrameRateStrategy*/) { // No-op for IGBP other than BufferQueue. @@ -1522,7 +1522,7 @@ status_t BnGraphicBufferProducer::onTransact( reply->writeInt32(result); return NO_ERROR; } -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) case SET_FRAME_RATE: { CHECK_INTERFACE(IGraphicBuffer, data, reply); float frameRate = data.readFloat(); diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp index a87f05357f..07a0cfed63 100644 --- a/libs/gui/Surface.cpp +++ b/libs/gui/Surface.cpp @@ -43,7 +43,7 @@ #include <gui/AidlStatusUtil.h> #include <gui/BufferItem.h> -#include <gui/Flags.h> + #include <gui/IProducerListener.h> #include <gui/ISurfaceComposer.h> @@ -2571,7 +2571,7 @@ void Surface::ProducerListenerProxy::onBuffersDiscarded(const std::vector<int32_ status_t Surface::setFrameRate(float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy) { -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) if (flags::bq_setframerate()) { status_t err = mGraphicBufferProducer->setFrameRate(frameRate, compatibility, changeFrameRateStrategy); diff --git a/libs/gui/include/gui/BLASTBufferQueue.h b/libs/gui/include/gui/BLASTBufferQueue.h index 02d7c4d2ac..892215ec32 100644 --- a/libs/gui/include/gui/BLASTBufferQueue.h +++ b/libs/gui/include/gui/BLASTBufferQueue.h @@ -19,7 +19,7 @@ #include <gui/BufferItem.h> #include <gui/BufferItemConsumer.h> -#include <gui/Flags.h> + #include <gui/IGraphicBufferProducer.h> #include <gui/SurfaceComposerClient.h> @@ -31,6 +31,8 @@ #include <thread> #include <queue> +#include <com_android_graphics_libgui_flags.h> + namespace android { class BLASTBufferQueue; @@ -59,7 +61,7 @@ public: protected: void onSidebandStreamChanged() override EXCLUDES(mMutex); -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) void onSetFrameRate(float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy) override; #endif diff --git a/libs/gui/include/gui/BufferQueue.h b/libs/gui/include/gui/BufferQueue.h index 2756277f2c..0948c4d076 100644 --- a/libs/gui/include/gui/BufferQueue.h +++ b/libs/gui/include/gui/BufferQueue.h @@ -19,11 +19,13 @@ #include <gui/BufferItem.h> #include <gui/BufferQueueDefs.h> -#include <gui/Flags.h> + #include <gui/IConsumerListener.h> #include <gui/IGraphicBufferConsumer.h> #include <gui/IGraphicBufferProducer.h> +#include <com_android_graphics_libgui_flags.h> + namespace android { class BufferQueue { @@ -70,7 +72,7 @@ public: void addAndGetFrameTimestamps( const NewFrameEventsEntry* newTimestamps, FrameEventHistoryDelta* outDelta) override; -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) void onSetFrameRate(float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy) override; #endif diff --git a/libs/gui/include/gui/BufferQueueProducer.h b/libs/gui/include/gui/BufferQueueProducer.h index 38805d0221..de47483dca 100644 --- a/libs/gui/include/gui/BufferQueueProducer.h +++ b/libs/gui/include/gui/BufferQueueProducer.h @@ -18,7 +18,7 @@ #define ANDROID_GUI_BUFFERQUEUEPRODUCER_H #include <gui/BufferQueueDefs.h> -#include <gui/Flags.h> + #include <gui/IGraphicBufferProducer.h> namespace android { @@ -202,7 +202,7 @@ public: // See IGraphicBufferProducer::setAutoPrerotation virtual status_t setAutoPrerotation(bool autoPrerotation); -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) // See IGraphicBufferProducer::setFrameRate status_t setFrameRate(float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy) override; diff --git a/libs/gui/include/gui/Flags.h b/libs/gui/include/gui/Flags.h deleted file mode 100644 index a2cff56e97..0000000000 --- a/libs/gui/include/gui/Flags.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2023 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -// TODO(281695725): replace this with build time flags, whenever they are available -#ifndef FLAG_BQ_SET_FRAME_RATE -#define FLAG_BQ_SET_FRAME_RATE false -#endif
\ No newline at end of file diff --git a/libs/gui/include/gui/IConsumerListener.h b/libs/gui/include/gui/IConsumerListener.h index e183bf2668..51d3959de7 100644 --- a/libs/gui/include/gui/IConsumerListener.h +++ b/libs/gui/include/gui/IConsumerListener.h @@ -19,13 +19,13 @@ #include <binder/IInterface.h> #include <binder/SafeInterface.h> -#include <gui/Flags.h> - #include <utils/Errors.h> #include <utils/RefBase.h> #include <cstdint> +#include <com_android_graphics_libgui_flags.h> + namespace android { class BufferItem; @@ -93,7 +93,7 @@ public: virtual void addAndGetFrameTimestamps(const NewFrameEventsEntry* /*newTimestamps*/, FrameEventHistoryDelta* /*outDelta*/) {} -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) // Notifies the consumer of a setFrameRate call from the producer side. virtual void onSetFrameRate(float /*frameRate*/, int8_t /*compatibility*/, int8_t /*changeFrameRateStrategy*/) {} diff --git a/libs/gui/include/gui/IGraphicBufferProducer.h b/libs/gui/include/gui/IGraphicBufferProducer.h index 3562906870..7639e709ca 100644 --- a/libs/gui/include/gui/IGraphicBufferProducer.h +++ b/libs/gui/include/gui/IGraphicBufferProducer.h @@ -31,7 +31,6 @@ #include <ui/Rect.h> #include <ui/Region.h> -#include <gui/Flags.h> #include <gui/FrameTimestamps.h> #include <gui/HdrMetadata.h> @@ -42,6 +41,8 @@ #include <optional> #include <vector> +#include <com_android_graphics_libgui_flags.h> + namespace android { // ---------------------------------------------------------------------------- @@ -677,7 +678,7 @@ public: // the width and height used for dequeueBuffer will be additionally swapped. virtual status_t setAutoPrerotation(bool autoPrerotation); -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) // Sets the apps intended frame rate. virtual status_t setFrameRate(float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy); diff --git a/libs/gui/tests/Android.bp b/libs/gui/tests/Android.bp index 38c0eed474..6dcd501404 100644 --- a/libs/gui/tests/Android.bp +++ b/libs/gui/tests/Android.bp @@ -21,7 +21,7 @@ cc_test { "-Wall", "-Werror", "-Wno-extra", - "-DFLAG_BQ_SET_FRAME_RATE=true", + "-DCOM_ANDROID_GRAPHICS_LIBGUI_FLAGS_BQ_SETFRAMERATE=true", ], srcs: [ diff --git a/libs/gui/tests/BufferQueue_test.cpp b/libs/gui/tests/BufferQueue_test.cpp index 17aa5f1350..1410c7dce0 100644 --- a/libs/gui/tests/BufferQueue_test.cpp +++ b/libs/gui/tests/BufferQueue_test.cpp @@ -1266,9 +1266,7 @@ TEST_F(BufferQueueTest, TestProducerConnectDisconnect) { } TEST_F(BufferQueueTest, TestBqSetFrameRateFlagBuildTimeIsSet) { - if (flags::bq_setframerate()) { - ASSERT_EQ(true, FLAG_BQ_SET_FRAME_RATE); - } + ASSERT_EQ(flags::bq_setframerate(), COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE)); } struct BufferItemConsumerSetFrameRateListener : public BufferItemConsumer { diff --git a/libs/nativedisplay/include/surfacetexture/SurfaceTexture.h b/libs/nativedisplay/include/surfacetexture/SurfaceTexture.h index 32fb3508ff..099f47dbe1 100644 --- a/libs/nativedisplay/include/surfacetexture/SurfaceTexture.h +++ b/libs/nativedisplay/include/surfacetexture/SurfaceTexture.h @@ -19,7 +19,7 @@ #include <android/hardware_buffer.h> #include <gui/BufferQueueDefs.h> #include <gui/ConsumerBase.h> -#include <gui/Flags.h> + #include <gui/IGraphicBufferProducer.h> #include <sys/cdefs.h> #include <system/graphics.h> @@ -352,7 +352,7 @@ protected: /** * onSetFrameRate Notifies the consumer of a setFrameRate call from the producer side. */ -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) void onSetFrameRate(float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy) override; #endif diff --git a/libs/nativedisplay/surfacetexture/SurfaceTexture.cpp b/libs/nativedisplay/surfacetexture/SurfaceTexture.cpp index c2535e0bf6..3a09204878 100644 --- a/libs/nativedisplay/surfacetexture/SurfaceTexture.cpp +++ b/libs/nativedisplay/surfacetexture/SurfaceTexture.cpp @@ -515,7 +515,7 @@ void SurfaceTexture::FrameAvailableListenerProxy::onFrameAvailable(const BufferI } } -#if FLAG_BQ_SET_FRAME_RATE +#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_SETFRAMERATE) void SurfaceTexture::onSetFrameRate(float frameRate, int8_t compatibility, int8_t changeFrameRateStrategy) { SFT_LOGV("onSetFrameRate: %.2f", frameRate); |