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

Commit 815bb3d4 authored by Peiyong Lin's avatar Peiyong Lin Committed by Android (Google) Code Review
Browse files

Merge "Extend ADataspace."

parents 97ee9007 91a2b3d8
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -138,6 +138,11 @@ int32_t ANativeWindow_setBuffersDataSpace(ANativeWindow* window, int32_t dataSpa
    static_assert(static_cast<int>(ADATASPACE_SCRGB) == static_cast<int>(HAL_DATASPACE_V0_SCRGB));
    static_assert(static_cast<int>(ADATASPACE_SCRGB) == static_cast<int>(HAL_DATASPACE_V0_SCRGB));
    static_assert(static_cast<int>(ADATASPACE_DISPLAY_P3) == static_cast<int>(HAL_DATASPACE_DISPLAY_P3));
    static_assert(static_cast<int>(ADATASPACE_DISPLAY_P3) == static_cast<int>(HAL_DATASPACE_DISPLAY_P3));
    static_assert(static_cast<int>(ADATASPACE_BT2020_PQ) == static_cast<int>(HAL_DATASPACE_BT2020_PQ));
    static_assert(static_cast<int>(ADATASPACE_BT2020_PQ) == static_cast<int>(HAL_DATASPACE_BT2020_PQ));
    static_assert(static_cast<int>(ADATASPACE_ADOBE_RGB) == static_cast<int>(HAL_DATASPACE_ADOBE_RGB));
    static_assert(static_cast<int>(ADATASPACE_BT2020) == static_cast<int>(HAL_DATASPACE_BT2020));
    static_assert(static_cast<int>(ADATASPACE_BT709) == static_cast<int>(HAL_DATASPACE_V0_BT709));
    static_assert(static_cast<int>(ADATASPACE_DCI_P3) == static_cast<int>(HAL_DATASPACE_DCI_P3));
    static_assert(static_cast<int>(ADATASPACE_SRGB_LINEAR) == static_cast<int>(HAL_DATASPACE_V0_SRGB_LINEAR));


    if (!window || !query(window, NATIVE_WINDOW_IS_VALID) ||
    if (!window || !query(window, NATIVE_WINDOW_IS_VALID) ||
            !isDataSpaceValid(window, dataSpace)) {
            !isDataSpaceValid(window, dataSpace)) {
+50 −0
Original line number Original line Diff line number Diff line
@@ -101,6 +101,56 @@ enum ADataSpace {
     * Use full range, SMPTE 2084 (PQ) transfer and BT2020 standard
     * Use full range, SMPTE 2084 (PQ) transfer and BT2020 standard
     */
     */
    ADATASPACE_BT2020_PQ = 163971072, // STANDARD_BT2020 | TRANSFER_ST2084 | RANGE_FULL
    ADATASPACE_BT2020_PQ = 163971072, // STANDARD_BT2020 | TRANSFER_ST2084 | RANGE_FULL

    /**
     * Adobe RGB
     *
     * Use full range, gamma 2.2 transfer and Adobe RGB primaries
     * Note: Application is responsible for gamma encoding the data as
     * a 2.2 gamma encoding is not supported in HW.
     */
    ADATASPACE_ADOBE_RGB = 151715840, // STANDARD_ADOBE_RGB | TRANSFER_GAMMA2_2 | RANGE_FULL

    /**
     * ITU-R Recommendation 2020 (BT.2020)
     *
     * Ultra High-definition television
     *
     * Use full range, BT.709 transfer and BT2020 standard
     */
    ADATASPACE_BT2020 = 147193856, // STANDARD_BT2020 | TRANSFER_SMPTE_170M | RANGE_FULL

    /**
     * ITU-R Recommendation 709 (BT.709)
     *
     * High-definition television
     *
     * Use limited range, BT.709 transfer and BT.709 standard.
     */
    ADATASPACE_BT709 = 281083904, // STANDARD_BT709 | TRANSFER_SMPTE_170M | RANGE_LIMITED

    /**
     * SMPTE EG 432-1 and SMPTE RP 431-2.
     *
     * Digital Cinema DCI-P3
     *
     * Use full range, gamma 2.6 transfer and D65 DCI-P3 standard
     * Note: Application is responsible for gamma encoding the data as
     * a 2.6 gamma encoding is not supported in HW.
     */
    ADATASPACE_DCI_P3 = 155844608, // STANDARD_DCI_P3 | TRANSFER_GAMMA2_6 | RANGE_FULL

    /**
     * sRGB linear encoding:
     *
     * The red, green, and blue components are stored in sRGB space, but
     * are linear, not gamma-encoded.
     * The RGB primaries and the white point are the same as BT.709.
     *
     * The values are encoded using the full range ([0,255] for 8-bit) for all
     * components.
     */
    ADATASPACE_SRGB_LINEAR = 138477568, // STANDARD_BT709 | TRANSFER_LINEAR | RANGE_FULL
};
};


__END_DECLS
__END_DECLS
+5 −1
Original line number Original line Diff line number Diff line
@@ -53,11 +53,15 @@ cc_test {
        "libgui",
        "libgui",
        "liblayers_proto",
        "liblayers_proto",
        "liblog",
        "liblog",
        "libnativewindow",
        "libprotobuf-cpp-full",
        "libprotobuf-cpp-full",
        "libtimestats_proto",
        "libtimestats_proto",
        "libui",
        "libui",
        "libutils",
        "libutils",
    ]
    ],
    header_libs: [
        "libnativewindow_headers",
    ],
}
}


cc_defaults {
cc_defaults {
+46 −0
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@
#include <aidl/android/hardware/graphics/common/BlendMode.h>
#include <aidl/android/hardware/graphics/common/BlendMode.h>
#include <aidl/android/hardware/graphics/common/Dataspace.h>
#include <aidl/android/hardware/graphics/common/Dataspace.h>


#include <android/data_space.h>
#include <android/hardware/graphics/common/1.2/types.h>
#include <android/hardware/graphics/common/1.2/types.h>
#include <android/hardware/graphics/composer/2.1/IComposerClient.h>
#include <android/hardware/graphics/composer/2.1/IComposerClient.h>


@@ -34,6 +35,51 @@ static_assert(static_cast<uint32_t>(AidlBlendMode::PREMULTIPLIED) ==
static_assert(static_cast<uint32_t>(AidlBlendMode::COVERAGE) ==
static_assert(static_cast<uint32_t>(AidlBlendMode::COVERAGE) ==
              static_cast<uint32_t>(HidlBlendMode::COVERAGE));
              static_cast<uint32_t>(HidlBlendMode::COVERAGE));


static_assert(static_cast<uint32_t>(ADATASPACE_UNKNOWN) ==
              static_cast<uint32_t>(AidlDataspace::UNKNOWN));
static_assert(static_cast<uint32_t>(ADATASPACE_SCRGB_LINEAR) ==
              static_cast<uint32_t>(AidlDataspace::SCRGB_LINEAR));
static_assert(static_cast<uint32_t>(ADATASPACE_SRGB) == static_cast<uint32_t>(AidlDataspace::SRGB));
static_assert(static_cast<uint32_t>(ADATASPACE_SCRGB) ==
              static_cast<uint32_t>(AidlDataspace::SCRGB));
static_assert(static_cast<uint32_t>(ADATASPACE_DISPLAY_P3) ==
              static_cast<uint32_t>(AidlDataspace::DISPLAY_P3));
static_assert(static_cast<uint32_t>(ADATASPACE_BT2020_PQ) ==
              static_cast<uint32_t>(AidlDataspace::BT2020_PQ));
static_assert(static_cast<uint32_t>(ADATASPACE_ADOBE_RGB) ==
              static_cast<uint32_t>(AidlDataspace::ADOBE_RGB));
static_assert(static_cast<uint32_t>(ADATASPACE_BT2020) ==
              static_cast<uint32_t>(AidlDataspace::BT2020));
static_assert(static_cast<uint32_t>(ADATASPACE_BT709) ==
              static_cast<uint32_t>(AidlDataspace::BT709));
static_assert(static_cast<uint32_t>(ADATASPACE_DCI_P3) ==
              static_cast<uint32_t>(AidlDataspace::DCI_P3));
static_assert(static_cast<uint32_t>(ADATASPACE_SRGB_LINEAR) ==
              static_cast<uint32_t>(AidlDataspace::SRGB_LINEAR));

static_assert(static_cast<uint32_t>(ADATASPACE_UNKNOWN) ==
              static_cast<uint32_t>(HidlDataspace::UNKNOWN));
static_assert(static_cast<uint32_t>(ADATASPACE_SCRGB_LINEAR) ==
              static_cast<uint32_t>(HidlDataspace::V0_SCRGB_LINEAR));
static_assert(static_cast<uint32_t>(ADATASPACE_SRGB) ==
              static_cast<uint32_t>(HidlDataspace::V0_SRGB));
static_assert(static_cast<uint32_t>(ADATASPACE_SCRGB) ==
              static_cast<uint32_t>(HidlDataspace::V0_SCRGB));
static_assert(static_cast<uint32_t>(ADATASPACE_DISPLAY_P3) ==
              static_cast<uint32_t>(HidlDataspace::DISPLAY_P3));
static_assert(static_cast<uint32_t>(ADATASPACE_BT2020_PQ) ==
              static_cast<uint32_t>(HidlDataspace::BT2020_PQ));
static_assert(static_cast<uint32_t>(ADATASPACE_ADOBE_RGB) ==
              static_cast<uint32_t>(HidlDataspace::ADOBE_RGB));
static_assert(static_cast<uint32_t>(ADATASPACE_BT2020) ==
              static_cast<uint32_t>(HidlDataspace::BT2020));
static_assert(static_cast<uint32_t>(ADATASPACE_BT709) ==
              static_cast<uint32_t>(HidlDataspace::V0_BT709));
static_assert(static_cast<uint32_t>(ADATASPACE_DCI_P3) ==
              static_cast<uint32_t>(HidlDataspace::DCI_P3));
static_assert(static_cast<uint32_t>(ADATASPACE_SRGB_LINEAR) ==
              static_cast<uint32_t>(HidlDataspace::V0_SRGB_LINEAR));

static_assert(static_cast<uint32_t>(AidlDataspace::UNKNOWN) ==
static_assert(static_cast<uint32_t>(AidlDataspace::UNKNOWN) ==
              static_cast<uint32_t>(HidlDataspace::UNKNOWN));
              static_cast<uint32_t>(HidlDataspace::UNKNOWN));
static_assert(static_cast<uint32_t>(AidlDataspace::ARBITRARY) ==
static_assert(static_cast<uint32_t>(AidlDataspace::ARBITRARY) ==