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

Commit 12f56862 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

release-request-36fe639f-9404-4c33-86fb-47bc4ab2221f-for-git_oc-mr1-release-41...

release-request-36fe639f-9404-4c33-86fb-47bc4ab2221f-for-git_oc-mr1-release-4124666 snap-temp-L64200000076596327

Change-Id: I909a85027fdc1de2a8bfce768017b6d5344d83bb
parents b1b8f26f 53116a67
Loading
Loading
Loading
Loading
+0 −48
Original line number Diff line number Diff line
@@ -222,54 +222,6 @@ inline std::string vecToString(const hidl_vec<T>& vec) {
    return ss.str();
}

inline std::string toString(const VehiclePropValue &v) {
    std::stringstream ss;
    ss << "VehiclePropValue {n"
       << "  prop: " << hexString(v.prop) << ",\n"
       << "  areaId: " << hexString(v.areaId) << ",\n"
       << "  timestamp: " << v.timestamp << ",\n"
       << "  value {\n"
       << "    int32Values: " << vecToString(v.value.int32Values) << ",\n"
       << "    floatValues: " << vecToString(v.value.floatValues) << ",\n"
       << "    int64Values: " << vecToString(v.value.int64Values) << ",\n"
       << "    bytes: " << vecToString(v.value.bytes) << ",\n"
       << "    string: " << v.value.stringValue.c_str() << ",\n"
       << "  }\n"
       << "}\n";

    return ss.str();
}

inline std::string toString(const VehiclePropConfig &config) {
    std::stringstream ss;
    ss << "VehiclePropConfig {\n"
       << "  prop: " << hexString(config.prop) << ",\n"
       << "  supportedAreas: " << hexString(config.supportedAreas) << ",\n"
       << "  access: " << enumToHexString(config.access) << ",\n"
       << "  changeMode: " << enumToHexString(config.changeMode) << ",\n"
       << "  configFlags: " << hexString(config.configFlags) << ",\n"
       << "  minSampleRate: " << config.minSampleRate << ",\n"
       << "  maxSampleRate: " << config.maxSampleRate << ",\n"
       << "  configString: " << config.configString.c_str() << ",\n";

    ss << "  areaConfigs {\n";
    for (size_t i = 0; i < config.areaConfigs.size(); i++) {
        const auto &area = config.areaConfigs[i];
        ss << "    areaId: " << hexString(area.areaId) << ",\n"
           << "    minFloatValue: " << area.minFloatValue << ",\n"
           << "    minFloatValue: " << area.maxFloatValue << ",\n"
           << "    minInt32Value: " << area.minInt32Value << ",\n"
           << "    minInt32Value: " << area.maxInt32Value << ",\n"
           << "    minInt64Value: " << area.minInt64Value << ",\n"
           << "    minInt64Value: " << area.maxInt64Value << ",\n";
    }
    ss << "  }\n"
       << "}\n";

    return ss.str();
}


}  // namespace V2_0
}  // namespace vehicle
}  // namespace automotive
+2 −1
Original line number Diff line number Diff line
@@ -101,7 +101,7 @@ b8a75617b9ec12bea641f3a73d4025a33e8b9a2f9169dd46094af56adf9249c5 android.hardwar
4f6dedbcdd21c309dfc650acea81a096d6b242493ffe49c8d61bd3c43aad354e android.hardware.graphics.common@1.0::types
b3aac6c3817f039964fcd62268274b3039e17bd7d0d5b40b4d1d1c7b19a1f866 android.hardware.graphics.composer@2.1::IComposer
b19d00eb8a8b3b0034a0321f22e8f32162bf4c2aebbce6da22c025f56e459ea2 android.hardware.graphics.composer@2.1::IComposerCallback
e992684e690dfe67a8cbeab5005bfa3fa9c2bf3d4b0b75657fb1f0c2d5dd2bae android.hardware.graphics.composer@2.1::IComposerClient
61ee43ffe6fb6dbe8b22dc17c51ff3d5ba703fc6029cba211f901f3d79c8a72d android.hardware.graphics.composer@2.1::IComposerClient
1c98c2f5154345312ec054871792a2982ec5f3e2bc2abfb61a10c0b517978e20 android.hardware.graphics.composer@2.1::types
a695898589e1ef15b2b2510f11edd6aafac9918d9cf8d74b4b6143b309dee542 android.hardware.graphics.mapper@2.0::IMapper
28507d385a3dd224bf3c32f1bfd9f96092c4701b9c1cc66caa578fc3efc97877 android.hardware.graphics.mapper@2.0::types
@@ -190,4 +190,5 @@ fe3c3c2f572b72f15f8594c538b0577bd5c28722c31879cfe6231330cddb6747 android.hardwar
# ABI preserving changes to HALs released in Android O

760485232f6cce07f8bb05e3475509956996b702f77415ee5bff05e2ec5a5bcc android.hardware.dumpstate@1.0::IDumpstateDevice
78589343d8ee2e1b155acad3fbdc7fcbb6af94491aee968b2383c21627264f8b android.hardware.radio@1.0::IRadioResponse
28e929b453df3d9f5060af2764e6cdb123ddb893e3e86923c877f6ff7e5f02c9 android.hardware.wifi@1.0::types
+2 −0
Original line number Diff line number Diff line
@@ -1117,6 +1117,7 @@ interface IComposerClient {
        VALIDATE_DISPLAY                   = 0x203 << OPCODE_SHIFT,
        ACCEPT_DISPLAY_CHANGES             = 0x204 << OPCODE_SHIFT,
        PRESENT_DISPLAY                    = 0x205 << OPCODE_SHIFT,
        PRESENT_OR_VALIDATE_DISPLAY        = 0x206 << OPCODE_SHIFT,

        /** layer commands (VALIDATE_DISPLAY not required) */
        SET_LAYER_CURSOR_POSITION          = 0x300 << OPCODE_SHIFT,
@@ -1135,6 +1136,7 @@ interface IComposerClient {
        SET_LAYER_TRANSFORM                = 0x408 << OPCODE_SHIFT,
        SET_LAYER_VISIBLE_REGION           = 0x409 << OPCODE_SHIFT,
        SET_LAYER_Z_ORDER                  = 0x40a << OPCODE_SHIFT,
        SET_PRESENT_OR_VALIDATE_DISPLAY_RESULT = 0x40b << OPCODE_SHIFT,

        /** 0x800 - 0xfff are reserved for vendor extensions */
        /** 0x1000 - 0xffff are reserved */
+43 −0
Original line number Diff line number Diff line
@@ -562,6 +562,8 @@ bool ComposerClient::CommandReader::parseCommand(
        return parseSetOutputBuffer(length);
    case IComposerClient::Command::VALIDATE_DISPLAY:
        return parseValidateDisplay(length);
    case IComposerClient::Command::PRESENT_OR_VALIDATE_DISPLAY:
        return parsePresentOrValidateDisplay(length);
    case IComposerClient::Command::ACCEPT_DISPLAY_CHANGES:
        return parseAcceptDisplayChanges(length);
    case IComposerClient::Command::PRESENT_DISPLAY:
@@ -739,6 +741,47 @@ bool ComposerClient::CommandReader::parseValidateDisplay(uint16_t length)
    return true;
}

bool ComposerClient::CommandReader::parsePresentOrValidateDisplay(uint16_t length)
{
    if (length != CommandWriterBase::kPresentOrValidateDisplayLength) {
        return false;
    }

    // First try to Present as is.
    int presentFence = -1;
    std::vector<Layer> layers;
    std::vector<int> fences;
    auto err = mHal.presentDisplay(mDisplay, &presentFence, &layers, &fences);
    if (err == Error::NONE) {
        mWriter.setPresentOrValidateResult(1);
        mWriter.setPresentFence(presentFence);
        mWriter.setReleaseFences(layers, fences);
        return true;
    }

    // Present has failed. We need to fallback to validate
    std::vector<Layer> changedLayers;
    std::vector<IComposerClient::Composition> compositionTypes;
    uint32_t displayRequestMask = 0x0;
    std::vector<Layer> requestedLayers;
    std::vector<uint32_t> requestMasks;

    err = mHal.validateDisplay(mDisplay, &changedLayers,
                               &compositionTypes, &displayRequestMask,
                               &requestedLayers, &requestMasks);
    if (err == Error::NONE) {
        mWriter.setPresentOrValidateResult(0);
        mWriter.setChangedCompositionTypes(changedLayers,
                                           compositionTypes);
        mWriter.setDisplayRequests(displayRequestMask,
                                   requestedLayers, requestMasks);
    } else {
        mWriter.setError(getCommandLoc(), err);
    }

    return true;
}

bool ComposerClient::CommandReader::parseAcceptDisplayChanges(uint16_t length)
{
    if (length != CommandWriterBase::kAcceptDisplayChangesLength) {
+1 −0
Original line number Diff line number Diff line
@@ -141,6 +141,7 @@ protected:
        bool parseSetClientTarget(uint16_t length);
        bool parseSetOutputBuffer(uint16_t length);
        bool parseValidateDisplay(uint16_t length);
        bool parsePresentOrValidateDisplay(uint16_t length);
        bool parseAcceptDisplayChanges(uint16_t length);
        bool parsePresentDisplay(uint16_t length);
        bool parseSetLayerCursorPosition(uint16_t length);
Loading