1
0
Fork 0
android_external_drm_hwcomp.../utils/properties.cpp
Linjiao Zhao b895e8b724 drm_hwcomposer: Add build property to support Cuttlefish external displays
We add build property vendor.hwc.drm.internal_display_names to contain
displays we want to make INTERNAL, while check the property in
GetDisplayConnectionType.
If the property is set, we decide INTERNAL/EXTERNAL based on the
included displays.
Currently it's specific for CF/desktop usage.

Change-Id: I3d607b6646ac47497b9770966d4e880f5e5c0ca6
Signed-off-by: Linjiao Zhao <ruki@google.com>
2025-03-31 06:36:16 +00:00

51 lines
1.6 KiB
C++

/*
* Copyright (C) 2023 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.
*/
#include "properties.h"
#include <android-base/properties.h>
#include <string>
/**
* @brief Determine if the "Present Not Reliable" property is enabled.
*
* @return boolean
*/
auto Properties::IsPresentFenceNotReliable() -> bool {
return (property_get_bool("ro.vendor.hwc.drm.present_fence_not_reliable",
0) != 0);
}
auto Properties::UseConfigGroups() -> bool {
return (property_get_bool("ro.vendor.hwc.drm.use_config_groups", 0) != 0);
}
auto Properties::InternalDisplayNames() -> std::string {
char buf[PROPERTY_VALUE_MAX] = {};
property_get("vendor.hwc.drm.internal_display_names", buf, "");
return {buf};
}
auto Properties::UseOverlayPlanes() -> bool {
return (property_get_bool("ro.vendor.hwc.use_overlay_planes", 1) != 0);
}
auto Properties::ScaleWithGpu() -> bool {
return (property_get_bool("vendor.hwc.drm.scale_with_gpu", 0) != 0);
}
auto Properties::EnableVirtualDisplay() -> bool {
return (property_get_bool("vendor.hwc.drm.enable_virtual_display", 0) != 0);
}