blob: b5f41028193e7f113fee981700925d7a70b86bc0 [file] [log] [blame]
#
# Copyright (C) 2022 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.
#
# If a downstream target does not want any graphics support, do not
# include this file!
PRODUCT_COPY_FILES += \
device/google/cuttlefish/shared/config/graphics/init_graphics.vendor.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init_graphics.vendor.rc \
# Gfxstream common libraries:
PRODUCT_SOONG_NAMESPACES += device/generic/goldfish-opengl
PRODUCT_PACKAGES += \
libandroidemu \
libOpenglCodecCommon \
libOpenglSystemCommon \
libGLESv1_CM_emulation \
lib_renderControl_enc \
libEGL_emulation \
libGLESv2_enc \
libGLESv2_emulation \
libGLESv1_enc \
libGoldfishProfiler \
# Gfxstream OpenGL implementation (OpenGL streamed to the host).
PRODUCT_PACKAGES += \
libEGL_emulation \
libGLESv1_CM_emulation \
libGLESv1_enc \
libGLESv2_emulation \
libGLESv2_enc \
# Gfxstream Vulkan implementation (Vulkan streamed to the host).
ifeq ($(TARGET_VULKAN_SUPPORT),true)
PRODUCT_PACKAGES += \
vulkan.ranchu \
libvulkan_enc
endif
ifeq ($(TARGET_VULKAN_SUPPORT),true)
ifneq ($(LOCAL_PREFER_VENDOR_APEX),true)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
frameworks/native/data/etc/android.software.vulkan.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
frameworks/native/data/etc/android.software.opengles.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml
endif
endif
#
# Hardware Composer HAL
#
# The device needs to avoid having both hwcomposer2.4 and hwcomposer3
# services running at the same time so make the user manually enables
# in order to run with --gpu_mode=drm.
ifeq ($(TARGET_ENABLE_DRMHWCOMPOSER),true)
DEVICE_MANIFEST_FILE += \
device/google/cuttlefish/shared/config/manifest_android.hardware.graphics.composer@2.4-service.xml
PRODUCT_PACKAGES += \
android.hardware.graphics.composer@2.4-service \
hwcomposer.drm
else
PRODUCT_PACKAGES += \
android.hardware.graphics.composer3-service.ranchu
endif
PRODUCT_VENDOR_PROPERTIES += \
ro.vendor.hwcomposer.pmem=/dev/block/pmem1
# Gralloc implementation
PRODUCT_PACKAGES += \
android.hardware.graphics.allocator-service.minigbm \
android.hardware.graphics.mapper@4.0-impl.minigbm \
mapper.minigbm