mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Merge "Remove configstore 1.2"
This commit is contained in:
committed by
Android (Google) Code Review
commit
ec5d8d1bd5
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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();
|
||||
56
configstore/1.1/default/surfaceflinger.mk
Normal file
56
configstore/1.1/default/surfaceflinger.mk
Normal file
@@ -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
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
@@ -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
|
||||
@@ -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;
|
||||
};
|
||||
@@ -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",
|
||||
],
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# Graphics team
|
||||
lpy@google.com
|
||||
olv@google.com
|
||||
stoza@google.com
|
||||
|
||||
# VTS team
|
||||
yim@google.com
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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"
|
||||
],
|
||||
|
||||
@@ -452,8 +452,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
|
||||
|
||||
Reference in New Issue
Block a user