Loading configstore/1.2/Android.bp +5 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ hidl_interface { enabled: true, }, srcs: [ "types.hal", "ISurfaceFlingerConfigs.hal", ], interfaces: [ Loading @@ -17,6 +18,10 @@ hidl_interface { "android.hardware.graphics.common@1.2", "android.hidl.base@1.0", ], types: [ "CieXyz", "DisplayPrimaries", ], gen_java: true, } configstore/1.2/ISurfaceFlingerConfigs.hal +7 −0 Original line number Diff line number Diff line Loading @@ -69,4 +69,11 @@ interface ISurfaceFlingerConfigs extends @1.1::ISurfaceFlingerConfigs { 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); }; configstore/1.2/default/SurfaceFlingerConfigs.cpp +80 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #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> Loading Loading @@ -241,6 +242,85 @@ Return<void> SurfaceFlingerConfigs::getCompositionPreference(getCompositionPrefe 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 configstore Loading configstore/1.2/default/SurfaceFlingerConfigs.h +1 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs { // ::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 Loading configstore/1.2/default/surfaceflinger.mk +48 −0 Original line number Diff line number Diff line Loading @@ -74,3 +74,51 @@ 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 Loading
configstore/1.2/Android.bp +5 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ hidl_interface { enabled: true, }, srcs: [ "types.hal", "ISurfaceFlingerConfigs.hal", ], interfaces: [ Loading @@ -17,6 +18,10 @@ hidl_interface { "android.hardware.graphics.common@1.2", "android.hidl.base@1.0", ], types: [ "CieXyz", "DisplayPrimaries", ], gen_java: true, }
configstore/1.2/ISurfaceFlingerConfigs.hal +7 −0 Original line number Diff line number Diff line Loading @@ -69,4 +69,11 @@ interface ISurfaceFlingerConfigs extends @1.1::ISurfaceFlingerConfigs { 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); };
configstore/1.2/default/SurfaceFlingerConfigs.cpp +80 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #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> Loading Loading @@ -241,6 +242,85 @@ Return<void> SurfaceFlingerConfigs::getCompositionPreference(getCompositionPrefe 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 configstore Loading
configstore/1.2/default/SurfaceFlingerConfigs.h +1 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs { // ::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 Loading
configstore/1.2/default/surfaceflinger.mk +48 −0 Original line number Diff line number Diff line Loading @@ -74,3 +74,51 @@ 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