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

Commit e29055f5 authored by Fabien Sanglard's avatar Fabien Sanglard
Browse files

Create libhwc2on1adapter

Extract the adapter out of SurfaceFlinger library to allow code
behind HAL to use it.

Test: Manual
Change-Id: I415aa2674564eccb2c38f76086807f834177f80f
parent d86505e9
Loading
Loading
Loading
Loading
+68 −0
Original line number Original line Diff line number Diff line
// Copyright 2010 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_library_shared {
    name: "libhwc2on1adapter",

    clang: true,
    cppflags: [
        "-Weverything",
        "-Wall",
        "-Wunused",
        "-Wunreachable-code",

        // The static constructors and destructors in this library have not been noted to
        // introduce significant overheads
        "-Wno-exit-time-destructors",
        "-Wno-global-constructors",

        // We only care about compiling as C++14
        "-Wno-c++98-compat-pedantic",

        // android/sensors.h uses nested anonymous unions and anonymous structs
        "-Wno-nested-anon-types",
        "-Wno-gnu-anonymous-struct",

        // Don't warn about struct padding
        "-Wno-padded",

        // hwcomposer2.h features switch covering all cases.
        "-Wno-covered-switch-default",

        // hwcomposer.h features zero size array.
        "-Wno-zero-length-array",

        // Disabling warning specific to hwc2on1adapter code
        "-Wno-double-promotion",
        "-Wno-sign-conversion",
        "-Wno-switch-enum",
        "-Wno-float-equal",
    ],

    srcs: [
        "HWC2On1Adapter.cpp",
        "MiniFence.cpp",
    ],

    shared_libs: [
        "libutils",
        "libcutils",
        "liblog",
        "libhardware",
    ],

    export_include_dirs: ["include"],

    export_shared_lib_headers: ["libutils"],
}
+2 −10
Original line number Original line Diff line number Diff line
@@ -14,13 +14,14 @@
 * limitations under the License.
 * limitations under the License.
 */
 */


#include "hwc2on1adapter/HWC2On1Adapter.h"

//#define LOG_NDEBUG 0
//#define LOG_NDEBUG 0


#undef LOG_TAG
#undef LOG_TAG
#define LOG_TAG "HWC2On1Adapter"
#define LOG_TAG "HWC2On1Adapter"
#define ATRACE_TAG ATRACE_TAG_GRAPHICS
#define ATRACE_TAG ATRACE_TAG_GRAPHICS


#include "HWC2On1Adapter.h"


#include <inttypes.h>
#include <inttypes.h>


@@ -317,15 +318,6 @@ Error HWC2On1Adapter::createVirtualDisplay(uint32_t width,
        return Error::NoResources;
        return Error::NoResources;
    }
    }


    if (MAX_VIRTUAL_DISPLAY_DIMENSION != 0 &&
            (width > MAX_VIRTUAL_DISPLAY_DIMENSION ||
            height > MAX_VIRTUAL_DISPLAY_DIMENSION)) {
        ALOGE("createVirtualDisplay: Can't create a virtual display with"
                " a dimension > %u (tried %u x %u)",
                MAX_VIRTUAL_DISPLAY_DIMENSION, width, height);
        return Error::NoResources;
    }

    mHwc1VirtualDisplay = std::make_shared<HWC2On1Adapter::Display>(*this,
    mHwc1VirtualDisplay = std::make_shared<HWC2On1Adapter::Display>(*this,
            HWC2::DisplayType::Virtual);
            HWC2::DisplayType::Virtual);
    mHwc1VirtualDisplay->populateConfigs(width, height);
    mHwc1VirtualDisplay->populateConfigs(width, height);
+1 −1
Original line number Original line Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 * limitations under the License.
 */
 */


#include "MiniFence.h"
#include "hwc2on1adapter/MiniFence.h"


#include <unistd.h>
#include <unistd.h>


Loading