mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Merge "[ConfigStore] Add useColorManagement method."
This commit is contained in:
@@ -66,3 +66,5 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/vndk-sp/android.hardware
|
||||
$(call add-clean-step, find $(PRODUCT_OUT)/system $(PRODUCT_OUT)/vendor -type f -name "android\.hardware\.configstore\@1\.1*" -print0 | xargs -0 rm -f)
|
||||
$(call add-clean-step, find $(PRODUCT_OUT)/system $(PRODUCT_OUT)/vendor -type f -name "android\.hardware\.configstore*" -print0 | xargs -0 rm -f)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/seccomp_policy/configstore@1.0.policy)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/seccomp_policy/configstore@1.1.policy)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.configstore@1.1-service)
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.hardware.configstore</name>
|
||||
<version>1.1</version>
|
||||
<version>1.2</version>
|
||||
<interface>
|
||||
<name>ISurfaceFlingerConfigs</name>
|
||||
<instance>default</instance>
|
||||
|
||||
18
configstore/1.2/Android.bp
Normal file
18
configstore/1.2/Android.bp
Normal file
@@ -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,
|
||||
}
|
||||
33
configstore/1.2/ISurfaceFlingerConfigs.hal
Normal file
33
configstore/1.2/ISurfaceFlingerConfigs.hal
Normal file
@@ -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);
|
||||
};
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -1,24 +1,39 @@
|
||||
#ifndef ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_H
|
||||
#define ANDROID_HARDWARE_CONFIGSTORE_V1_1_SURFACEFLINGERCONFIGS_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.
|
||||
*/
|
||||
|
||||
#include <android/hardware/configstore/1.1/ISurfaceFlingerConfigs.h>
|
||||
#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
|
||||
@@ -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
|
||||
@@ -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::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::OK;
|
||||
using android::sp;
|
||||
using android::status_t;
|
||||
using android::OK;
|
||||
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;
|
||||
|
||||
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();
|
||||
@@ -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
|
||||
@@ -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"
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user