Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7d793335 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[ConfigStore] Add get display primary interface"

parents b1894ad3 5a12cd73
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ hidl_interface {
        enabled: true,
    },
    srcs: [
        "types.hal",
        "ISurfaceFlingerConfigs.hal",
    ],
    interfaces: [
@@ -17,6 +18,10 @@ hidl_interface {
        "android.hardware.graphics.common@1.2",
        "android.hidl.base@1.0",
    ],
    types: [
        "CieXyz",
        "DisplayPrimaries",
    ],
    gen_java: true,
}
+7 −0
Original line number Diff line number Diff line
@@ -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);
};
+80 −0
Original line number Diff line number Diff line
@@ -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>

@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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
+48 −0
Original line number Diff line number Diff line
@@ -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