diff options
Diffstat (limited to 'configstore')
-rw-r--r-- | configstore/1.2/Android.bp | 18 | ||||
-rw-r--r-- | configstore/1.2/ISurfaceFlingerConfigs.hal | 33 | ||||
-rw-r--r-- | configstore/1.2/default/Android.mk (renamed from configstore/1.1/default/Android.mk) | 15 | ||||
-rw-r--r-- | configstore/1.2/default/SurfaceFlingerConfigs.cpp (renamed from configstore/1.1/default/SurfaceFlingerConfigs.cpp) | 20 | ||||
-rw-r--r-- | configstore/1.2/default/SurfaceFlingerConfigs.h (renamed from configstore/1.1/default/SurfaceFlingerConfigs.h) | 43 | ||||
-rw-r--r-- | configstore/1.2/default/android.hardware.configstore@1.2-service.rc (renamed from configstore/1.1/default/android.hardware.configstore@1.1-service.rc) | 2 | ||||
-rw-r--r-- | configstore/1.2/default/seccomp_policy/configstore-arm64.policy (renamed from configstore/1.1/default/seccomp_policy/configstore@1.1-arm64.policy) | 0 | ||||
-rw-r--r-- | configstore/1.2/default/service.cpp (renamed from configstore/1.1/default/service.cpp) | 16 | ||||
-rw-r--r-- | configstore/1.2/default/surfaceflinger.mk (renamed from configstore/1.1/default/surfaceflinger.mk) | 4 | ||||
-rw-r--r-- | configstore/utils/Android.bp | 2 |
10 files changed, 116 insertions, 37 deletions
diff --git a/configstore/1.2/Android.bp b/configstore/1.2/Android.bp new file mode 100644 index 0000000000..a20eb34dd8 --- /dev/null +++ b/configstore/1.2/Android.bp @@ -0,0 +1,18 @@ +// This file is autogenerated by hidl-gen -Landroidbp. + +hidl_interface { + name: "android.hardware.configstore@1.2", + root: "android.hardware", + vndk: { + enabled: true, + }, + srcs: [ + "ISurfaceFlingerConfigs.hal", + ], + interfaces: [ + "android.hardware.configstore@1.1", + "android.hardware.configstore@1.0", + "android.hidl.base@1.0", + ], + gen_java: true, +}
\ No newline at end of file diff --git a/configstore/1.2/ISurfaceFlingerConfigs.hal b/configstore/1.2/ISurfaceFlingerConfigs.hal new file mode 100644 index 0000000000..c32cc82910 --- /dev/null +++ b/configstore/1.2/ISurfaceFlingerConfigs.hal @@ -0,0 +1,33 @@ +/* + * 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 @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); +}; diff --git a/configstore/1.1/default/Android.mk b/configstore/1.2/default/Android.mk index 40f621b3ad..b807357876 100644 --- a/configstore/1.1/default/Android.mk +++ b/configstore/1.2/default/Android.mk @@ -2,15 +2,15 @@ LOCAL_PATH := $(call my-dir) ################################################################################ include $(CLEAR_VARS) -LOCAL_MODULE := android.hardware.configstore@1.1-service +LOCAL_MODULE := android.hardware.configstore@1.2-service # seccomp is not required for coverage build. ifneq ($(NATIVE_COVERAGE),true) -LOCAL_REQUIRED_MODULES_arm64 := configstore@1.1.policy +LOCAL_REQUIRED_MODULES_arm64 := configstore.policy endif -LOCAL_PROPRIETARY_MODULE := true +LOCAL_VENDOR_MODULE := true LOCAL_MODULE_CLASS := EXECUTABLES LOCAL_MODULE_RELATIVE_PATH := hw -LOCAL_INIT_RC := android.hardware.configstore@1.1-service.rc +LOCAL_INIT_RC := android.hardware.configstore@1.2-service.rc LOCAL_SRC_FILES:= service.cpp include $(LOCAL_PATH)/surfaceflinger.mk @@ -23,16 +23,17 @@ LOCAL_SHARED_LIBRARIES := \ liblog \ libutils \ android.hardware.configstore@1.0 \ - android.hardware.configstore@1.1 + android.hardware.configstore@1.1 \ + android.hardware.configstore@1.2 include $(BUILD_EXECUTABLE) # seccomp filter for configstore ifeq ($(TARGET_ARCH), $(filter $(TARGET_ARCH), arm64)) include $(CLEAR_VARS) -LOCAL_MODULE := configstore@1.1.policy +LOCAL_MODULE := configstore.policy LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc/seccomp_policy -LOCAL_SRC_FILES := seccomp_policy/configstore@1.1-$(TARGET_ARCH).policy +LOCAL_SRC_FILES := seccomp_policy/configstore-$(TARGET_ARCH).policy include $(BUILD_PREBUILT) endif diff --git a/configstore/1.1/default/SurfaceFlingerConfigs.cpp b/configstore/1.2/default/SurfaceFlingerConfigs.cpp index da3081c12f..c7bd567fef 100644 --- a/configstore/1.1/default/SurfaceFlingerConfigs.cpp +++ b/configstore/1.2/default/SurfaceFlingerConfigs.cpp @@ -22,11 +22,10 @@ namespace android { namespace hardware { namespace configstore { -namespace V1_1 { +namespace V1_2 { namespace implementation { -// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs -// follow. +// ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs implementation. Return<void> SurfaceFlingerConfigs::vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) { #ifdef VSYNC_EVENT_PHASE_OFFSET_NS _hidl_cb({true, VSYNC_EVENT_PHASE_OFFSET_NS}); @@ -142,8 +141,7 @@ Return<void> SurfaceFlingerConfigs::startGraphicsAllocatorService( return Void(); } -// Methods from ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs -// follow. +// ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs implementation. #ifdef PRIMARY_DISPLAY_ORIENTATION static_assert(PRIMARY_DISPLAY_ORIENTATION == 0 || PRIMARY_DISPLAY_ORIENTATION == 90 || @@ -191,10 +189,18 @@ Return<void> SurfaceFlingerConfigs::primaryDisplayOrientation( return Void(); } -// Methods from ::android::hidl::base::V1_0::IBase follow. +// ::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(); +} } // namespace implementation -} // namespace V1_1 +} // namespace V1_2 } // namespace configstore } // namespace hardware } // namespace android diff --git a/configstore/1.1/default/SurfaceFlingerConfigs.h b/configstore/1.2/default/SurfaceFlingerConfigs.h index 3714e81697..fe787890f0 100644 --- a/configstore/1.1/default/SurfaceFlingerConfigs.h +++ b/configstore/1.2/default/SurfaceFlingerConfigs.h @@ -1,24 +1,39 @@ -#ifndef ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H -#define ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H - -#include <android/hardware/configstore/1.1/ISurfaceFlingerConfigs.h> +/* + * 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. + */ + +#ifndef ANDROID_HARDWARE_CONFIGSTORE_V1_2_SURFACEFLINGERCONFIGS_H +#define ANDROID_HARDWARE_CONFIGSTORE_V1_2_SURFACEFLINGERCONFIGS_H + +#include <android/hardware/configstore/1.2/ISurfaceFlingerConfigs.h> #include <hidl/MQDescriptor.h> #include <hidl/Status.h> namespace android { namespace hardware { namespace configstore { -namespace V1_1 { +namespace V1_2 { namespace implementation { -using ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs; +using ::android::sp; using ::android::hardware::Return; using ::android::hardware::Void; -using ::android::sp; +using ::android::hardware::configstore::V1_2::ISurfaceFlingerConfigs; struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs { - // Methods from - // ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow. + // ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs implementation. Return<void> vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) override; Return<void> vsyncSfEventPhaseOffsetNs(vsyncSfEventPhaseOffsetNs_cb _hidl_cb) override; Return<void> useContextPriority(useContextPriority_cb _hidl_cb) override; @@ -32,17 +47,17 @@ struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs { Return<void> maxFrameBufferAcquiredBuffers(maxFrameBufferAcquiredBuffers_cb _hidl_cb) override; Return<void> startGraphicsAllocatorService(startGraphicsAllocatorService_cb _hidl_cb) override; - // Methods from - // ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs follow. + // ::android::hardware::configstore::V1_1::ISurfaceFlingerConfigs follow implementation. Return<void> primaryDisplayOrientation(primaryDisplayOrientation_cb _hidl_cb) override; - // Methods from ::android::hidl::base::V1_0::IBase follow. + // ::android::hardware::configstore::V1_2::ISurfaceFlingerConfigs follow implementation. + Return<void> useColorManagement(useColorManagement_cb _hidl_cb) override; }; } // namespace implementation -} // namespace V1_1 +} // namespace V1_2 } // namespace configstore } // namespace hardware } // namespace android -#endif // ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H +#endif // ANDROID_HARDWARE_CONFIGSTORE_V1_2_SURFACEFLINGERCONFIGS_H diff --git a/configstore/1.1/default/android.hardware.configstore@1.1-service.rc b/configstore/1.2/default/android.hardware.configstore@1.2-service.rc index 105678acb2..d6c5d10a71 100644 --- a/configstore/1.1/default/android.hardware.configstore@1.1-service.rc +++ b/configstore/1.2/default/android.hardware.configstore@1.2-service.rc @@ -1,4 +1,4 @@ -service vendor.configstore-hal /vendor/bin/hw/android.hardware.configstore@1.1-service +service vendor.configstore-hal /vendor/bin/hw/android.hardware.configstore@1.2-service class hal animation user system group system diff --git a/configstore/1.1/default/seccomp_policy/configstore@1.1-arm64.policy b/configstore/1.2/default/seccomp_policy/configstore-arm64.policy index 937fddd67b..937fddd67b 100644 --- a/configstore/1.1/default/seccomp_policy/configstore@1.1-arm64.policy +++ b/configstore/1.2/default/seccomp_policy/configstore-arm64.policy diff --git a/configstore/1.1/default/service.cpp b/configstore/1.2/default/service.cpp index 3b4e7745ee..65a42f5955 100644 --- a/configstore/1.1/default/service.cpp +++ b/configstore/1.2/default/service.cpp @@ -14,27 +14,27 @@ * limitations under the License. */ -#define LOG_TAG "android.hardware.configstore@1.1-service" +#define LOG_TAG "android.hardware.configstore@1.2-service" -#include <android/hardware/configstore/1.1/ISurfaceFlingerConfigs.h> +#include <android/hardware/configstore/1.2/ISurfaceFlingerConfigs.h> #include <hidl/HidlTransportSupport.h> #include <hwminijail/HardwareMinijail.h> #include "SurfaceFlingerConfigs.h" +using android::OK; +using android::sp; +using android::status_t; using android::hardware::configureRpcThreadpool; using android::hardware::joinRpcThreadpool; -using android::hardware::configstore::V1_1::ISurfaceFlingerConfigs; -using android::hardware::configstore::V1_1::implementation::SurfaceFlingerConfigs; using android::hardware::SetupMinijail; -using android::sp; -using android::status_t; -using android::OK; +using android::hardware::configstore::V1_2::ISurfaceFlingerConfigs; +using android::hardware::configstore::V1_2::implementation::SurfaceFlingerConfigs; int main() { configureRpcThreadpool(10, true); - SetupMinijail("/vendor/etc/seccomp_policy/configstore@1.1.policy"); + SetupMinijail("/vendor/etc/seccomp_policy/configstore.policy"); sp<ISurfaceFlingerConfigs> surfaceFlingerConfigs = new SurfaceFlingerConfigs; status_t status = surfaceFlingerConfigs->registerAsService(); diff --git a/configstore/1.1/default/surfaceflinger.mk b/configstore/1.2/default/surfaceflinger.mk index 35922ebb09..70be4501e1 100644 --- a/configstore/1.1/default/surfaceflinger.mk +++ b/configstore/1.2/default/surfaceflinger.mk @@ -54,3 +54,7 @@ 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 diff --git a/configstore/utils/Android.bp b/configstore/utils/Android.bp index 178f245fd6..e0d4aa8192 100644 --- a/configstore/utils/Android.bp +++ b/configstore/utils/Android.bp @@ -30,12 +30,14 @@ 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" ], |