diff options
17 files changed, 90 insertions, 634 deletions
diff --git a/CleanSpec.mk b/CleanSpec.mk index 1af439a97e..edde1cbd33 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -72,3 +72,11 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.co $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.cas@1.0*) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.cas@1.0*) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.cas@1.0*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.configstore@1.2-service.rc) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.configstore@1.2-service) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/seccomp_policy/configstore.policy) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/apex/com.android.media.swcodec/lib64/android.hardware.configstore@1.2.so) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib64/vndk-Q/android.hardware.configstore@1.2.so) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib64/android.hardware.configstore@1.2.so) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/vndk-Q/android.hardware.configstore@1.2.so) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/android.hardware.configstore@1.2.so) diff --git a/configstore/1.2/default/Android.mk b/configstore/1.1/default/Android.mk index b807357876..104e15eee2 100644 --- a/configstore/1.2/default/Android.mk +++ b/configstore/1.1/default/Android.mk @@ -2,15 +2,15 @@ LOCAL_PATH := $(call my-dir) ################################################################################ include $(CLEAR_VARS) -LOCAL_MODULE := android.hardware.configstore@1.2-service +LOCAL_MODULE := android.hardware.configstore@1.1-service # seccomp is not required for coverage build. ifneq ($(NATIVE_COVERAGE),true) -LOCAL_REQUIRED_MODULES_arm64 := configstore.policy +LOCAL_REQUIRED_MODULES_arm64 := configstore@1.1.policy endif LOCAL_VENDOR_MODULE := true LOCAL_MODULE_CLASS := EXECUTABLES LOCAL_MODULE_RELATIVE_PATH := hw -LOCAL_INIT_RC := android.hardware.configstore@1.2-service.rc +LOCAL_INIT_RC := android.hardware.configstore@1.1-service.rc LOCAL_SRC_FILES:= service.cpp include $(LOCAL_PATH)/surfaceflinger.mk @@ -23,17 +23,16 @@ LOCAL_SHARED_LIBRARIES := \ liblog \ libutils \ android.hardware.configstore@1.0 \ - android.hardware.configstore@1.1 \ - android.hardware.configstore@1.2 + android.hardware.configstore@1.1 include $(BUILD_EXECUTABLE) # seccomp filter for configstore ifeq ($(TARGET_ARCH), $(filter $(TARGET_ARCH), arm64)) include $(CLEAR_VARS) -LOCAL_MODULE := configstore.policy +LOCAL_MODULE := configstore@1.1.policy LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc/seccomp_policy -LOCAL_SRC_FILES := seccomp_policy/configstore-$(TARGET_ARCH).policy +LOCAL_SRC_FILES := seccomp_policy/configstore@1.1-$(TARGET_ARCH).policy include $(BUILD_PREBUILT) endif diff --git a/configstore/1.2/default/SurfaceFlingerConfigs.cpp b/configstore/1.1/default/SurfaceFlingerConfigs.cpp index 714442bd22..377e467864 100644 --- a/configstore/1.2/default/SurfaceFlingerConfigs.cpp +++ b/configstore/1.1/default/SurfaceFlingerConfigs.cpp @@ -17,19 +17,14 @@ #include "SurfaceFlingerConfigs.h" #include <android/hardware/configstore/1.1/types.h> -#include <android/hardware/configstore/1.2/types.h> -#include <android/hardware/graphics/common/1.1/types.h> #include <log/log.h> namespace android { namespace hardware { namespace configstore { -namespace V1_2 { +namespace V1_1 { namespace implementation { -using ::android::hardware::graphics::common::V1_2::Dataspace; -using ::android::hardware::graphics::common::V1_2::PixelFormat; - // ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs implementation. Return<void> SurfaceFlingerConfigs::vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) { #ifdef VSYNC_EVENT_PHASE_OFFSET_NS @@ -59,7 +54,7 @@ Return<void> SurfaceFlingerConfigs::useContextPriority(useContextPriority_cb _hi } Return<void> SurfaceFlingerConfigs::maxFrameBufferAcquiredBuffers( - maxFrameBufferAcquiredBuffers_cb _hidl_cb) { + maxFrameBufferAcquiredBuffers_cb _hidl_cb) { #ifdef NUM_FRAMEBUFFER_SURFACE_BUFFERS _hidl_cb({true, NUM_FRAMEBUFFER_SURFACE_BUFFERS}); #else @@ -96,7 +91,7 @@ Return<void> SurfaceFlingerConfigs::hasHDRDisplay(hasHDRDisplay_cb _hidl_cb) { } Return<void> SurfaceFlingerConfigs::presentTimeOffsetFromVSyncNs( - presentTimeOffsetFromVSyncNs_cb _hidl_cb) { + presentTimeOffsetFromVSyncNs_cb _hidl_cb) { #ifdef PRESENT_TIME_OFFSET_FROM_VSYNC_NS _hidl_cb({true, PRESENT_TIME_OFFSET_FROM_VSYNC_NS}); #else @@ -137,7 +132,7 @@ Return<void> SurfaceFlingerConfigs::useVrFlinger(useVrFlinger_cb _hidl_cb) { } Return<void> SurfaceFlingerConfigs::startGraphicsAllocatorService( - startGraphicsAllocatorService_cb _hidl_cb) { + startGraphicsAllocatorService_cb _hidl_cb) { bool value = false; #ifdef START_GRAPHICS_ALLOCATOR_SERVICE value = true; @@ -150,12 +145,12 @@ Return<void> SurfaceFlingerConfigs::startGraphicsAllocatorService( #ifdef PRIMARY_DISPLAY_ORIENTATION static_assert(PRIMARY_DISPLAY_ORIENTATION == 0 || PRIMARY_DISPLAY_ORIENTATION == 90 || - PRIMARY_DISPLAY_ORIENTATION == 180 || PRIMARY_DISPLAY_ORIENTATION == 270, + PRIMARY_DISPLAY_ORIENTATION == 180 || PRIMARY_DISPLAY_ORIENTATION == 270, "Primary display orientation must be 0/90/180/270"); #endif Return<void> SurfaceFlingerConfigs::primaryDisplayOrientation( - primaryDisplayOrientation_cb _hidl_cb) { + primaryDisplayOrientation_cb _hidl_cb) { using ::android::hardware::configstore::V1_1::DisplayOrientation; bool specified = false; @@ -194,135 +189,8 @@ Return<void> SurfaceFlingerConfigs::primaryDisplayOrientation( return Void(); } -// ::android::hardware::configstore::V1_2::ISurfaceFlingerConfigs implementation. -Return<void> SurfaceFlingerConfigs::useColorManagement(useColorManagement_cb _hidl_cb) { -#if defined(USE_COLOR_MANAGEMENT) || defined(HAS_WIDE_COLOR_DISPLAY) || defined(HAS_HDR_DISPLAY) - _hidl_cb({true, true}); -#else - _hidl_cb({true, false}); -#endif - return Void(); -} - -#ifdef DEFAULT_COMPOSITION_DATA_SPACE -static_assert(DEFAULT_COMPOSITION_DATA_SPACE != 0, - "Default composition data space must not be UNKNOWN"); -#endif - -#ifdef WCG_COMPOSITION_DATA_SPACE -static_assert(WCG_COMPOSITION_DATA_SPACE != 0, - "Wide color gamut composition data space must not be UNKNOWN"); -#endif - -Return<void> SurfaceFlingerConfigs::getCompositionPreference(getCompositionPreference_cb _hidl_cb) { - Dataspace defaultDataspace = Dataspace::V0_SRGB; - PixelFormat defaultPixelFormat = PixelFormat::RGBA_8888; - -#ifdef DEFAULT_COMPOSITION_DATA_SPACE - defaultDataspace = static_cast<Dataspace>(DEFAULT_COMPOSITION_DATA_SPACE); -#endif - -#ifdef DEFAULT_COMPOSITION_PIXEL_FORMAT - defaultPixelFormat = static_cast<PixelFormat>(DEFAULT_COMPOSITION_PIXEL_FORMAT); -#endif - - Dataspace wideColorGamutDataspace = Dataspace::V0_SRGB; - PixelFormat wideColorGamutPixelFormat = PixelFormat::RGBA_8888; - -#ifdef WCG_COMPOSITION_DATA_SPACE - wideColorGamutDataspace = static_cast<Dataspace>(WCG_COMPOSITION_DATA_SPACE); -#endif - -#ifdef WCG_COMPOSITION_PIXEL_FORMAT - wideColorGamutPixelFormat = static_cast<PixelFormat>(WCG_COMPOSITION_PIXEL_FORMAT); -#endif - - _hidl_cb(defaultDataspace, defaultPixelFormat, wideColorGamutDataspace, - wideColorGamutPixelFormat); - return Void(); -} - -Return<void> SurfaceFlingerConfigs::getDisplayNativePrimaries(getDisplayNativePrimaries_cb _hidl_cb) { - DisplayPrimaries primaries; - // The default XYZ is sRGB gamut in CIE1931 color space -#ifdef TARGET_DISPLAY_PRIMARY_RED_X - primaries.red.X = TARGET_DISPLAY_PRIMARY_RED_X; -#else - primaries.red.X = 0.4123; -#endif - -#ifdef TARGET_DISPLAY_PRIMARY_RED_Y - primaries.red.Y = TARGET_DISPLAY_PRIMARY_RED_Y; -#else - primaries.red.Y = 0.2126; -#endif - -#ifdef TARGET_DISPLAY_PRIMARY_RED_Z - primaries.red.Z = TARGET_DISPLAY_PRIMARY_RED_Z; -#else - primaries.red.Z = 0.0193; -#endif - -#ifdef TARGET_DISPLAY_PRIMARY_GREEN_X - primaries.green.X = TARGET_DISPLAY_PRIMARY_GREEN_X; -#else - primaries.green.X = 0.3576; -#endif - -#ifdef TARGET_DISPLAY_PRIMARY_GREEN_Y - primaries.green.Y = TARGET_DISPLAY_PRIMARY_GREEN_Y; -#else - primaries.green.Y = 0.7152; -#endif - -#ifdef TARGET_DISPLAY_PRIMARY_GREEN_Z - primaries.green.Z = TARGET_DISPLAY_PRIMARY_GREEN_Z; -#else - primaries.green.Z = 0.1192; -#endif - -#ifdef TARGET_DISPLAY_PRIMARY_BLUE_X - primaries.blue.X = TARGET_DISPLAY_PRIMARY_BLUE_X; -#else - primaries.blue.X = 0.1805; -#endif - -#ifdef TARGET_DISPLAY_PRIMARY_BLUE_Y - primaries.blue.Y = TARGET_DISPLAY_PRIMARY_BLUE_Y; -#else - primaries.blue.Y = 0.0722; -#endif - -#ifdef TARGET_DISPLAY_PRIMARY_BLUE_Z - primaries.blue.Z = TARGET_DISPLAY_PRIMARY_BLUE_Z; -#else - primaries.blue.Z = 0.9506; -#endif - -#ifdef TARGET_DISPLAY_PRIMARY_WHITE_X - primaries.white.X = TARGET_DISPLAY_PRIMARY_WHITE_X; -#else - primaries.white.X = 0.9505; -#endif - -#ifdef TARGET_DISPLAY_PRIMARY_WHITE_Y - primaries.white.Y = TARGET_DISPLAY_PRIMARY_WHITE_Y; -#else - primaries.white.Y = 1.0000; -#endif - -#ifdef TARGET_DISPLAY_PRIMARY_WHITE_Z - primaries.white.Z = TARGET_DISPLAY_PRIMARY_WHITE_Z; -#else - primaries.white.Z = 1.0891; -#endif - - _hidl_cb(primaries); - return Void(); -} - } // namespace implementation -} // namespace V1_2 +} // namespace V1_1 } // namespace configstore } // namespace hardware } // namespace android diff --git a/configstore/1.2/default/SurfaceFlingerConfigs.h b/configstore/1.1/default/SurfaceFlingerConfigs.h index 54a6e6211b..c2f5fef056 100644 --- a/configstore/1.2/default/SurfaceFlingerConfigs.h +++ b/configstore/1.1/default/SurfaceFlingerConfigs.h @@ -14,23 +14,23 @@ * limitations under the License. */ -#ifndef ANDROID_HARDWARE_CONFIGSTORE_V1_2_SURFACEFLINGERCONFIGS_H -#define ANDROID_HARDWARE_CONFIGSTORE_V1_2_SURFACEFLINGERCONFIGS_H +#ifndef ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H +#define ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H -#include <android/hardware/configstore/1.2/ISurfaceFlingerConfigs.h> +#include <android/hardware/configstore/1.1/ISurfaceFlingerConfigs.h> #include <hidl/MQDescriptor.h> #include <hidl/Status.h> namespace android { namespace hardware { namespace configstore { -namespace V1_2 { +namespace V1_1 { namespace implementation { using ::android::sp; using ::android::hardware::Return; using ::android::hardware::Void; -using ::android::hardware::configstore::V1_2::ISurfaceFlingerConfigs; +using ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs; struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs { // ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs implementation. @@ -49,17 +49,12 @@ struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs { // ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs follow implementation. Return<void> primaryDisplayOrientation(primaryDisplayOrientation_cb _hidl_cb) override; - - // ::android::hardware::configstore::V1_2::ISurfaceFlingerConfigs follow implementation. - Return<void> useColorManagement(useColorManagement_cb _hidl_cb) override; - Return<void> getCompositionPreference(getCompositionPreference_cb _hidl_cb) override; - Return<void> getDisplayNativePrimaries(getDisplayNativePrimaries_cb _hidl_cb) override; }; } // namespace implementation -} // namespace V1_2 +} // namespace V1_1 } // namespace configstore } // namespace hardware } // namespace android -#endif // ANDROID_HARDWARE_CONFIGSTORE_V1_2_SURFACEFLINGERCONFIGS_H +#endif // ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H diff --git a/configstore/1.2/default/android.hardware.configstore@1.2-service.rc b/configstore/1.1/default/android.hardware.configstore@1.1-service.rc index d6c5d10a71..105678acb2 100644 --- a/configstore/1.2/default/android.hardware.configstore@1.2-service.rc +++ b/configstore/1.1/default/android.hardware.configstore@1.1-service.rc @@ -1,4 +1,4 @@ -service vendor.configstore-hal /vendor/bin/hw/android.hardware.configstore@1.2-service +service vendor.configstore-hal /vendor/bin/hw/android.hardware.configstore@1.1-service class hal animation user system group system diff --git a/configstore/1.2/default/seccomp_policy/configstore-arm64.policy b/configstore/1.1/default/seccomp_policy/configstore@1.1-arm64.policy index 937fddd67b..937fddd67b 100644 --- a/configstore/1.2/default/seccomp_policy/configstore-arm64.policy +++ b/configstore/1.1/default/seccomp_policy/configstore@1.1-arm64.policy diff --git a/configstore/1.2/default/service.cpp b/configstore/1.1/default/service.cpp index 65a42f5955..e21de0bdce 100644 --- a/configstore/1.2/default/service.cpp +++ b/configstore/1.1/default/service.cpp @@ -14,9 +14,9 @@ * limitations under the License. */ -#define LOG_TAG "android.hardware.configstore@1.2-service" +#define LOG_TAG "android.hardware.configstore@1.1-service" -#include <android/hardware/configstore/1.2/ISurfaceFlingerConfigs.h> +#include <android/hardware/configstore/1.1/ISurfaceFlingerConfigs.h> #include <hidl/HidlTransportSupport.h> #include <hwminijail/HardwareMinijail.h> @@ -28,13 +28,13 @@ using android::status_t; using android::hardware::configureRpcThreadpool; using android::hardware::joinRpcThreadpool; using android::hardware::SetupMinijail; -using android::hardware::configstore::V1_2::ISurfaceFlingerConfigs; -using android::hardware::configstore::V1_2::implementation::SurfaceFlingerConfigs; +using android::hardware::configstore::V1_1::ISurfaceFlingerConfigs; +using android::hardware::configstore::V1_1::implementation::SurfaceFlingerConfigs; int main() { configureRpcThreadpool(10, true); - SetupMinijail("/vendor/etc/seccomp_policy/configstore.policy"); + SetupMinijail("/vendor/etc/seccomp_policy/configstore@1.1.policy"); sp<ISurfaceFlingerConfigs> surfaceFlingerConfigs = new SurfaceFlingerConfigs; status_t status = surfaceFlingerConfigs->registerAsService(); diff --git a/configstore/1.1/default/surfaceflinger.mk b/configstore/1.1/default/surfaceflinger.mk new file mode 100644 index 0000000000..35922ebb09 --- /dev/null +++ b/configstore/1.1/default/surfaceflinger.mk @@ -0,0 +1,56 @@ + +LOCAL_SRC_FILES += SurfaceFlingerConfigs.cpp + +ifneq ($(VSYNC_EVENT_PHASE_OFFSET_NS),) + LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=$(VSYNC_EVENT_PHASE_OFFSET_NS) +endif + +ifneq ($(SF_VSYNC_EVENT_PHASE_OFFSET_NS),) + LOCAL_CFLAGS += -DSF_VSYNC_EVENT_PHASE_OFFSET_NS=$(SF_VSYNC_EVENT_PHASE_OFFSET_NS) +endif + +ifeq ($(TARGET_USE_CONTEXT_PRIORITY),true) + LOCAL_CFLAGS += -DUSE_CONTEXT_PRIORITY=1 +endif + +ifeq ($(TARGET_HAS_WIDE_COLOR_DISPLAY),true) + LOCAL_CFLAGS += -DHAS_WIDE_COLOR_DISPLAY +endif + +ifeq ($(TARGET_HAS_HDR_DISPLAY),true) + LOCAL_CFLAGS += -DHAS_HDR_DISPLAY +endif + +ifneq ($(PRESENT_TIME_OFFSET_FROM_VSYNC_NS),) + LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=$(PRESENT_TIME_OFFSET_FROM_VSYNC_NS) +else + LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=0 +endif + +ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true) + LOCAL_CFLAGS += -DFORCE_HWC_COPY_FOR_VIRTUAL_DISPLAYS +endif + +ifneq ($(MAX_VIRTUAL_DISPLAY_DIMENSION),) + LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=$(MAX_VIRTUAL_DISPLAY_DIMENSION) +endif + +ifeq ($(TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK),true) + LOCAL_CFLAGS += -DRUNNING_WITHOUT_SYNC_FRAMEWORK +endif + +ifneq ($(USE_VR_FLINGER),) + LOCAL_CFLAGS += -DUSE_VR_FLINGER +endif + +ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),) + LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS) +endif + +ifneq ($(SF_START_GRAPHICS_ALLOCATOR_SERVICE),) + LOCAL_CFLAGS += -DSTART_GRAPHICS_ALLOCATOR_SERVICE +endif + +ifneq ($(SF_PRIMARY_DISPLAY_ORIENTATION),) + LOCAL_CFLAGS += -DPRIMARY_DISPLAY_ORIENTATION=$(SF_PRIMARY_DISPLAY_ORIENTATION) +endif diff --git a/configstore/1.2/Android.bp b/configstore/1.2/Android.bp deleted file mode 100644 index a3976b649f..0000000000 --- a/configstore/1.2/Android.bp +++ /dev/null @@ -1,27 +0,0 @@ -// This file is autogenerated by hidl-gen -Landroidbp. - -hidl_interface { - name: "android.hardware.configstore@1.2", - root: "android.hardware", - vndk: { - enabled: true, - }, - srcs: [ - "types.hal", - "ISurfaceFlingerConfigs.hal", - ], - interfaces: [ - "android.hardware.configstore@1.0", - "android.hardware.configstore@1.1", - "android.hardware.graphics.common@1.0", - "android.hardware.graphics.common@1.1", - "android.hardware.graphics.common@1.2", - "android.hidl.base@1.0", - ], - types: [ - "CieXyz", - "DisplayPrimaries", - ], - gen_java: true, -} - diff --git a/configstore/1.2/ISurfaceFlingerConfigs.hal b/configstore/1.2/ISurfaceFlingerConfigs.hal deleted file mode 100644 index 431b3fc479..0000000000 --- a/configstore/1.2/ISurfaceFlingerConfigs.hal +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (C) 2018 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.1 (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.1 - * - * 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. - */ -package android.hardware.configstore@1.2; - -import android.hardware.graphics.common@1.2::PixelFormat; -import android.hardware.graphics.common@1.2::Dataspace; -import @1.1::ISurfaceFlingerConfigs; -import @1.0::OptionalBool; - -/** - * New revision of ISurfaceFlingerConfigs - */ -interface ISurfaceFlingerConfigs extends @1.1::ISurfaceFlingerConfigs { - /** - * useColorManagement indicates whether SurfaceFlinger should manage color - * by switching to appropriate color mode automatically depending on the - * Dataspace of the surfaces on screen. - * This function must return true when hasWideColorDisplay or hasHDRDisplay - * return true. - */ - useColorManagement() generates (OptionalBool value); - - /** - * Returns the default data space and pixel format that SurfaceFlinger - * expects to receive and output as well as the wide color gamut data space - * and pixel format for wide color gamut surfaces. - * To determine the data space and pixel format, there are a few things - * we recommend to consider: - * - * 1. Hardware composer's capability to composite contents with the chosen - * data space and pixel format efficiently; - * 2. Hardware composer's ability to composite contents when sRGB contents - * and the chosen wide color gamut data space contents coexist; - * 3. For better blending, consider using pixel format where the alpha - * channel has as many bits as the RGB color channel. - * 4. Memory consumption and efficient buffer compression when considering - * more bits in pixel format. - * - * @return dataspace is the default data space that SurfaceFlinger expects. - * The data space must not be Dataspace::UNKNOWN, if unspecified, - * the default data space is Dataspace::V0_SRGB; - * @return pixelFormat is the default pixel format that SurfaceFlinger - * expects. If unspecified, the default pixel format is - * PixelFormat::RGBA_8888. - * @return wcgDataspace is the data space that SurfaceFlinger expects for - * wide color gamut surfaces. - * When hasWideColorDisplay returns true, this API must return a - * valid wide color gamut data space. - * The data space must not be UNKNOWN, if unspecified, the data space - * is V0_SRGB by default, which essentially indicates there's no wide - * color gamut, meaning hasWideColorDisplay returns false. - * @return wcgPixelFormat is the pixel format that SurfaceFlinger expects for - * wide color gamut surfaces. If unspecified, the pixel format is - * PixelFormat::RGBA_8888 by default. - */ - getCompositionPreference() - generates (Dataspace dataspace, PixelFormat pixelFormat, - Dataspace wcgDataspace, PixelFormat wcgPixelFormat); - - /** - * Returns the native panel primary data. The data includes red, green, - * blue and white. The primary format is CIE 1931 XYZ color space. If - * unspecified, the primaries is sRGB gamut by default. - */ - getDisplayNativePrimaries() generates (DisplayPrimaries primaries); -}; diff --git a/configstore/1.2/default/surfaceflinger.mk b/configstore/1.2/default/surfaceflinger.mk deleted file mode 100644 index 9a672564c1..0000000000 --- a/configstore/1.2/default/surfaceflinger.mk +++ /dev/null @@ -1,124 +0,0 @@ - -LOCAL_SRC_FILES += SurfaceFlingerConfigs.cpp - -ifneq ($(VSYNC_EVENT_PHASE_OFFSET_NS),) - LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=$(VSYNC_EVENT_PHASE_OFFSET_NS) -endif - -ifneq ($(SF_VSYNC_EVENT_PHASE_OFFSET_NS),) - LOCAL_CFLAGS += -DSF_VSYNC_EVENT_PHASE_OFFSET_NS=$(SF_VSYNC_EVENT_PHASE_OFFSET_NS) -endif - -ifeq ($(TARGET_USE_CONTEXT_PRIORITY),true) - LOCAL_CFLAGS += -DUSE_CONTEXT_PRIORITY=1 -endif - -ifeq ($(TARGET_HAS_WIDE_COLOR_DISPLAY),true) - LOCAL_CFLAGS += -DHAS_WIDE_COLOR_DISPLAY -endif - -ifeq ($(TARGET_HAS_HDR_DISPLAY),true) - LOCAL_CFLAGS += -DHAS_HDR_DISPLAY -endif - -ifneq ($(PRESENT_TIME_OFFSET_FROM_VSYNC_NS),) - LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=$(PRESENT_TIME_OFFSET_FROM_VSYNC_NS) -else - LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=0 -endif - -ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true) - LOCAL_CFLAGS += -DFORCE_HWC_COPY_FOR_VIRTUAL_DISPLAYS -endif - -ifneq ($(MAX_VIRTUAL_DISPLAY_DIMENSION),) - LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=$(MAX_VIRTUAL_DISPLAY_DIMENSION) -endif - -ifeq ($(TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK),true) - LOCAL_CFLAGS += -DRUNNING_WITHOUT_SYNC_FRAMEWORK -endif - -ifneq ($(USE_VR_FLINGER),) - LOCAL_CFLAGS += -DUSE_VR_FLINGER -endif - -ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),) - LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS) -endif - -ifneq ($(SF_START_GRAPHICS_ALLOCATOR_SERVICE),) - LOCAL_CFLAGS += -DSTART_GRAPHICS_ALLOCATOR_SERVICE -endif - -ifneq ($(SF_PRIMARY_DISPLAY_ORIENTATION),) - LOCAL_CFLAGS += -DPRIMARY_DISPLAY_ORIENTATION=$(SF_PRIMARY_DISPLAY_ORIENTATION) -endif - -ifeq ($(TARGET_USE_COLOR_MANAGEMENT),true) - LOCAL_CFLAGS += -DUSE_COLOR_MANAGEMENT -endif - -ifneq ($(SF_DEFAULT_COMPOSITION_DATA_SPACE),) - LOCAL_CFLAGS += -DDEFAULT_COMPOSITION_DATA_SPACE=$(SF_DEFAULT_COMPOSITION_DATA_SPACE) -endif - -ifneq ($(SF_DEFAULT_COMPOSITION_PIXEL_FORMAT),) - LOCAL_CFLAGS += -DDEFAULT_COMPOSITION_PIXEL_FORMAT=$(SF_DEFAULT_COMPOSITION_PIXEL_FORMAT) -endif - -ifneq ($(SF_WCG_COMPOSITION_DATA_SPACE),) - LOCAL_CFLAGS += -DWCG_COMPOSITION_DATA_SPACE=$(SF_WCG_COMPOSITION_DATA_SPACE) -endif - -ifneq ($(SF_WCG_COMPOSITION_PIXEL_FORMAT),) - LOCAL_CFLAGS += -DWCG_COMPOSITION_PIXEL_FORMAT=$(SF_WCG_COMPOSITION_PIXEL_FORMAT) -endif - -ifneq ($(TARGET_DISPLAY_PRIMARY_RED_X),) - LOCAL_CFLAGS += -DTARGET_DISPLAY_PRIMARY_RED_X=$(TARGET_DISPLAY_PRIMARY_RED_X) -endif - -ifneq ($(TARGET_DISPLAY_PRIMARY_RED_Y),) - LOCAL_CFLAGS += -DTARGET_DISPLAY_PRIMARY_RED_Y=$(TARGET_DISPLAY_PRIMARY_RED_Y) -endif - -ifneq ($(TARGET_DISPLAY_PRIMARY_RED_Z),) - LOCAL_CFLAGS += -DTARGET_DISPLAY_PRIMARY_RED_Z=$(TARGET_DISPLAY_PRIMARY_RED_Z) -endif - -ifneq ($(TARGET_DISPLAY_PRIMARY_GREEN_X),) - LOCAL_CFLAGS += -DTARGET_DISPLAY_PRIMARY_GREEN_X=$(TARGET_DISPLAY_PRIMARY_GREEN_X) -endif - -ifneq ($(TARGET_DISPLAY_PRIMARY_GREEN_Y),) - LOCAL_CFLAGS += -DTARGET_DISPLAY_PRIMARY_GREEN_Y=$(TARGET_DISPLAY_PRIMARY_GREEN_Y) -endif - -ifneq ($(TARGET_DISPLAY_PRIMARY_GREEN_Z),) - LOCAL_CFLAGS += -DTARGET_DISPLAY_PRIMARY_GREEN_Z=$(TARGET_DISPLAY_PRIMARY_GREEN_Z) -endif - -ifneq ($(TARGET_DISPLAY_PRIMARY_BLUE_X),) - LOCAL_CFLAGS += -DTARGET_DISPLAY_PRIMARY_BLUE_X=$(TARGET_DISPLAY_PRIMARY_BLUE_X) -endif - -ifneq ($(TARGET_DISPLAY_PRIMARY_BLUE_Y),) - LOCAL_CFLAGS += -DTARGET_DISPLAY_PRIMARY_BLUE_Y=$(TARGET_DISPLAY_PRIMARY_BLUE_Y) -endif - -ifneq ($(TARGET_DISPLAY_PRIMARY_BLUE_Z),) - LOCAL_CFLAGS += -DTARGET_DISPLAY_PRIMARY_BLUE_Z=$(TARGET_DISPLAY_PRIMARY_BLUE_Z) -endif - -ifneq ($(TARGET_DISPLAY_PRIMARY_WHITE_X),) - LOCAL_CFLAGS += -DTARGET_DISPLAY_PRIMARY_WHITE_X=$(TARGET_DISPLAY_PRIMARY_WHITE_X) -endif - -ifneq ($(TARGET_DISPLAY_PRIMARY_WHITE_Y),) - LOCAL_CFLAGS += -DTARGET_DISPLAY_PRIMARY_WHITE_Y=$(TARGET_DISPLAY_PRIMARY_WHITE_Y) -endif - -ifneq ($(TARGET_DISPLAY_PRIMARY_WHITE_Z),) - LOCAL_CFLAGS += -DTARGET_DISPLAY_PRIMARY_WHITE_Z=$(TARGET_DISPLAY_PRIMARY_WHITE_Z) -endif diff --git a/configstore/1.2/types.hal b/configstore/1.2/types.hal deleted file mode 100644 index 5b2c9a60b3..0000000000 --- a/configstore/1.2/types.hal +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2019 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. - */ -package android.hardware.configstore@1.2; - -struct CieXyz { - float X; - float Y; - float Z; -}; -struct DisplayPrimaries { - CieXyz red; - CieXyz green; - CieXyz blue; - CieXyz white; -}; diff --git a/configstore/1.2/vts/functional/Android.bp b/configstore/1.2/vts/functional/Android.bp deleted file mode 100644 index 5f1eca6cdf..0000000000 --- a/configstore/1.2/vts/functional/Android.bp +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright (C) 2018 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. -// - -cc_test { - name: "VtsHalConfigstoreV1_2TargetTest", - defaults: ["VtsHalTargetTestDefaults"], - srcs: ["VtsHalConfigstoreV1_2TargetTest.cpp"], - static_libs: [ - "android.hardware.configstore@1.0", - "android.hardware.configstore@1.1", - "android.hardware.configstore@1.2", - ], -} - diff --git a/configstore/1.2/vts/functional/OWNERS b/configstore/1.2/vts/functional/OWNERS deleted file mode 100644 index 2b4fb8c70f..0000000000 --- a/configstore/1.2/vts/functional/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# Graphics team -lpy@google.com -olv@google.com -stoza@google.com - -# VTS team -yim@google.com diff --git a/configstore/1.2/vts/functional/VtsHalConfigstoreV1_2TargetTest.cpp b/configstore/1.2/vts/functional/VtsHalConfigstoreV1_2TargetTest.cpp deleted file mode 100644 index d7f4dcf75f..0000000000 --- a/configstore/1.2/vts/functional/VtsHalConfigstoreV1_2TargetTest.cpp +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (C) 2017 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. - */ - -#define LOG_TAG "ConfigstoreHidlHalTest" - -#include <VtsHalHidlTargetTestBase.h> -#include <VtsHalHidlTargetTestEnvBase.h> -#include <android-base/logging.h> -#include <android/hardware/configstore/1.0/types.h> -#include <android/hardware/configstore/1.2/ISurfaceFlingerConfigs.h> -#include <android/hardware/configstore/1.2/types.h> -#include <unistd.h> - -using ::android::sp; -using ::android::hardware::hidl_vec; -using ::android::hardware::Return; -using ::android::hardware::Void; -using ::android::hardware::configstore::V1_0::OptionalBool; -using ::android::hardware::configstore::V1_0::OptionalInt64; -using ::android::hardware::configstore::V1_0::OptionalUInt64; -using ::android::hardware::configstore::V1_2::DisplayPrimaries; -using ::android::hardware::configstore::V1_2::ISurfaceFlingerConfigs; -using ::android::hardware::graphics::common::V1_2::Dataspace; -using ::android::hardware::graphics::common::V1_2::PixelFormat; - -#define ASSERT_OK(ret) ASSERT_TRUE(ret.isOk()) -#define EXPECT_OK(ret) EXPECT_TRUE(ret.isOk()) - -// Test environment for Configstore HIDL HAL. -class ConfigstoreHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase { - public: - // get the test environment singleton - static ConfigstoreHidlEnvironment* Instance() { - static ConfigstoreHidlEnvironment* instance = new ConfigstoreHidlEnvironment; - return instance; - } - - virtual void registerTestServices() override { registerTestService<ISurfaceFlingerConfigs>(); } -}; - -class ConfigstoreHidlTest : public ::testing::VtsHalHidlTargetTestBase { - public: - sp<ISurfaceFlingerConfigs> sfConfigs; - - virtual void SetUp() override { - sfConfigs = ::testing::VtsHalHidlTargetTestBase::getService<ISurfaceFlingerConfigs>( - ConfigstoreHidlEnvironment::Instance()->getServiceName<ISurfaceFlingerConfigs>()); - ASSERT_NE(sfConfigs, nullptr); - } - - virtual void TearDown() override {} - - bool isSupportedWideColorGamut(Dataspace dataspace) { - Dataspace standard = static_cast<Dataspace>(dataspace & Dataspace::STANDARD_MASK); - return standard == Dataspace::STANDARD_DCI_P3 || standard == Dataspace::STANDARD_BT2020; - } -}; - -/** - * Make sure the constrains of hasWideColorDisplay, hasHDRDisplay - * and useColorManagement are enforced. - */ -TEST_F(ConfigstoreHidlTest, TestColorConstrainsWithColorManagement) { - bool hasWideColorDisplay; - bool hasHDRDisplay; - bool useColorManagement; - - Return<void> status = sfConfigs->hasWideColorDisplay( - [&](OptionalBool arg) { hasWideColorDisplay = arg.specified; }); - EXPECT_OK(status); - - status = sfConfigs->hasHDRDisplay([&](OptionalBool arg) { hasHDRDisplay = arg.specified; }); - EXPECT_OK(status); - - status = sfConfigs->useColorManagement( - [&](OptionalBool arg) { useColorManagement = arg.specified; }); - EXPECT_OK(status); - - // When hasHDRDisplay returns true, hasWideColorDisplay must also return true. - if (hasHDRDisplay) { - ASSERT_TRUE(hasWideColorDisplay); - } - - // When hasWideColorDisplay returns true, useColorManagement - // must also return true. - if (hasWideColorDisplay) { - ASSERT_TRUE(useColorManagement); - } -} - -TEST_F(ConfigstoreHidlTest, TestGetCompositionPreference) { - bool hasWideColorDisplay; - - Return<void> status = sfConfigs->hasWideColorDisplay( - [&](OptionalBool arg) { hasWideColorDisplay = arg.specified; }); - EXPECT_OK(status); - - Dataspace defaultDataspace, wcgDataspace; - - status = sfConfigs->getCompositionPreference( - [&](auto tmpDefaultDataspace, PixelFormat, auto tmpWcgDataspace, PixelFormat) { - defaultDataspace = tmpDefaultDataspace; - wcgDataspace = tmpWcgDataspace; - }); - EXPECT_OK(status); - - // Default data space and wide color gamut data space must not be UNKNOWN. - ASSERT_TRUE(defaultDataspace != Dataspace::UNKNOWN && wcgDataspace != Dataspace::UNKNOWN); - - // If hasWideColorDisplay returns true, the wide color gamut data space must be a valid wide - // color gamut. - if (hasWideColorDisplay) { - ASSERT_TRUE(isSupportedWideColorGamut(wcgDataspace)); - } -} - -TEST_F(ConfigstoreHidlTest, TestGetDisplayNativePrimaries) { - DisplayPrimaries primaries; - - Return<void> status = sfConfigs->getDisplayNativePrimaries( - [&](DisplayPrimaries tmpPrimaries) { - primaries.red = tmpPrimaries.red; - primaries.green = tmpPrimaries.green; - primaries.blue = tmpPrimaries.blue; - primaries.white = tmpPrimaries.white; - }); - EXPECT_OK(status); - - // Display primaries should be greater than or equal to zero. - // Or it returns defualt value if there is no definition. - // RED - EXPECT_GE(primaries.red.X, 0.0); - EXPECT_GE(primaries.red.Y, 0.0); - EXPECT_GE(primaries.red.Z, 0.0); - - // GREEN - EXPECT_GE(primaries.green.X, 0.0); - EXPECT_GE(primaries.green.Y, 0.0); - EXPECT_GE(primaries.green.Z, 0.0); - - - // BLUE - EXPECT_GE(primaries.blue.X, 0.0); - EXPECT_GE(primaries.blue.Y, 0.0); - EXPECT_GE(primaries.blue.Z, 0.0); - - - // WHITE - EXPECT_GE(primaries.white.X, 0.0); - EXPECT_GE(primaries.white.Y, 0.0); - EXPECT_GE(primaries.white.Z, 0.0); -} - -int main(int argc, char** argv) { - ::testing::AddGlobalTestEnvironment(ConfigstoreHidlEnvironment::Instance()); - ::testing::InitGoogleTest(&argc, argv); - ConfigstoreHidlEnvironment::Instance()->init(&argc, argv); - int status = RUN_ALL_TESTS(); - LOG(INFO) << "Test result = " << status; - return status; -} diff --git a/configstore/utils/Android.bp b/configstore/utils/Android.bp index e0d4aa8192..178f245fd6 100644 --- a/configstore/utils/Android.bp +++ b/configstore/utils/Android.bp @@ -30,14 +30,12 @@ cc_library_shared { shared_libs: [ "android.hardware.configstore@1.0", "android.hardware.configstore@1.1", - "android.hardware.configstore@1.2", "libbase", "libhidlbase" ], export_shared_lib_headers: [ "android.hardware.configstore@1.0", "android.hardware.configstore@1.1", - "android.hardware.configstore@1.2", "libbase", "libhidlbase" ], diff --git a/current.txt b/current.txt index ce8e05f176..887f53e721 100644 --- a/current.txt +++ b/current.txt @@ -451,8 +451,6 @@ f5777403d65135a5407723671bc7a864cdca83aea13ee3ce2894b95e6588ca3a android.hardwar 44c88954b3c201b26f64fcdb6f278024ab3aae864a9e1ec70e8a74274ae9d6aa android.hardware.cas@1.1::ICas 25012d1778f7396f967bbc0231397d544bde421ba5b98706c9e48ac790612683 android.hardware.cas@1.1::ICasListener dffacdbe0bcf8443013de5bdc56a83479ad979d4919ed15a5585539f46091f07 android.hardware.cas@1.1::IMediaCasService -bc742c6b17c834010f90c06ce2939c845198eecd2706be18da99e14bceb2acc0 android.hardware.configstore@1.2::ISurfaceFlingerConfigs -aadac6b9fcf660384d73cbb97f3732ff9eeb8e8c67001e3fdbf4add108e5b1dc android.hardware.configstore@1.2::types 5b1f4a4fb88c239e07d76026467a1f2ee0d08f4d52c1805bd93bd7c05e3fe69c android.hardware.drm@1.2::ICryptoFactory 4895f98e9ef210e9acb01982f5d07b654538377e1404b8db5e19e7858835e9d8 android.hardware.drm@1.2::ICryptoPlugin 976116b9033b2c222b940109fdf0ffcc29b77cbe631ef6b4fcc2ad5ce8e605f7 android.hardware.drm@1.2::IDrmFactory |