vendor: Introduce adreno-u component

Based on OnePlus 12 firmware
Adreno Version 744.8

Change-Id: Ia484e04515e6ca72e6e18d8bd9dc8980449a9173
This commit is contained in:
Jake Weinstein 2023-12-21 02:09:22 -06:00
parent 80b79c9a5e
commit c12dcdc87d
7 changed files with 157 additions and 3 deletions

View File

@ -1,4 +1,4 @@
# Copyright 2022 Paranoid Android
# Copyright 2023 Paranoid Android
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -83,6 +83,9 @@ ifeq ($(TARGET_FWK_SUPPORTS_FULL_VALUEADDS),true)
include vendor/qcom/opensource/core-utils/build/utils.mk
endif
6_1_FAMILY := \
pineapple
# Kernel Families
5_15_FAMILY := \
crow \
@ -122,7 +125,9 @@ endif
msm8937 \
msm8996
ifeq ($(call is-board-platform-in-list,$(5_15_FAMILY)),true)
ifeq ($(call is-board-platform-in-list,$(6_1_FAMILY)),true)
TARGET_KERNEL_VERSION ?= 6.1
else ifeq ($(call is-board-platform-in-list,$(5_15_FAMILY)),true)
TARGET_KERNEL_VERSION ?= 5.15
else ifeq ($(call is-board-platform-in-list,$(5_10_FAMILY)),true)
TARGET_KERNEL_VERSION ?= 5.10

View File

@ -37,7 +37,9 @@ endif
# QTI Common Components
ifneq (,$(filter adreno, $(TARGET_COMMON_QTI_COMPONENTS)))
ifeq ($(call is-board-platform-in-list,$(5_15_FAMILY)),true)
ifeq ($(call is-board-platform-in-list,$(6_1_FAMILY)),true)
TARGET_ADRENO_COMPONENT_VARIANT ?= adreno-u
else ifeq ($(call is-board-platform-in-list,$(5_15_FAMILY)),true)
TARGET_ADRENO_COMPONENT_VARIANT ?= adreno-t
else ifeq ($(call is-board-platform-in-list,$(5_10_FAMILY)),true)
TARGET_ADRENO_COMPONENT_VARIANT ?= adreno-s

35
vendor/adreno-u/Android.mk vendored Normal file
View File

@ -0,0 +1,35 @@
# Copyright (C) 2023 Paranoid Android
#
# 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.
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_ADRENO_COMPONENT_VARIANT),adreno-u)
include $(CLEAR_VARS)
EGL_LIBRARIES := \
libEGL_adreno.so \
libGLESv2_adreno.so \
libq3dtools_adreno.so
EGL_64_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/lib64/,$(notdir $(EGL_LIBRARIES)))
$(EGL_64_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@mkdir -p $(dir $@)
@rm -rf $@
$(hide) ln -sf egl/$(notdir $@) $@
ALL_DEFAULT_INSTALLED_MODULES += \
$(EGL_64_SYMLINKS)
endif

30
vendor/adreno-u/extract-files.sh vendored Executable file
View File

@ -0,0 +1,30 @@
#!/bin/bash
#
# Copyright (C) 2021 Paranoid Android
#
# 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 we're being sourced by the common script that we called,
# stop right here. No need to go down the rabbit hole.
if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
return
fi
set -e
# Required!
export COMPONENT=adreno-u
export VENDOR=qcom/common/vendor
"../extract-files.sh" "$@"

23
vendor/adreno-u/proprietary-files.txt vendored Normal file
View File

@ -0,0 +1,23 @@
vendor/gpu/kbc/sequence_manifest.bin
vendor/gpu/kbc/unified_kbcs_32.bin
vendor/gpu/kbc/unified_kbcs_64.bin
vendor/gpu/kbc/unified_ksqs.bin
vendor/lib64/egl/eglSubDriverAndroid.so
vendor/lib64/egl/libEGL_adreno.so
vendor/lib64/egl/libGLESv1_CM_adreno.so
vendor/lib64/egl/libGLESv2_adreno.so
vendor/lib64/egl/libVkLayer_ADRENO_qprofiler.so
vendor/lib64/egl/libq3dtools_adreno.so
vendor/lib64/egl/libq3dtools_esx.so
vendor/lib64/hw/vulkan.adreno.so
vendor/lib64/libCB.so
vendor/lib64/libOpenCL.so
vendor/lib64/libadreno_app_profiles.so
vendor/lib64/libadreno_utils.so
vendor/lib64/libgpudataproducer.so
vendor/lib64/libgsl.so
vendor/lib64/libkcl.so
vendor/lib64/libkernelmanager.so
vendor/lib64/libllvm-glnext.so
vendor/lib64/libllvm-qcom.so
vendor/lib64/libllvm-qgl.so

35
vendor/adreno-u/qti-adreno-u.mk vendored Normal file
View File

@ -0,0 +1,35 @@
# Copyright (C) 2023 Paranoid Android
#
# 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.
TARGET_ADRENO_COMPONENT_VARIANT := adreno-u
# Permissions
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-1.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_3.xml \
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
frameworks/native/data/etc/android.software.opengles.deqp.level-2022-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
frameworks/native/data/etc/android.software.vulkan.deqp.level-2022-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml
# Properties
PRODUCT_VENDOR_PROPERTIES += \
ro.hardware.egl=adreno \
ro.hardware.vulkan=adreno \
ro.opengles.version=196610 \
graphics.gpu.profiler.support=true
# Get non-open-source specific aspects.
$(call inherit-product, vendor/qcom/common/vendor/$(TARGET_ADRENO_COMPONENT_VARIANT)/$(TARGET_ADRENO_COMPONENT_VARIANT)-vendor.mk)

24
vendor/adreno-u/setup-makefiles.sh vendored Executable file
View File

@ -0,0 +1,24 @@
#!/bin/bash
#
# Copyright (C) 2023 Paranoid Android
#
# 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.
#
set -e
# Required!
export COMPONENT=adreno-u
export VENDOR=qcom/common/vendor
"../setup-makefiles.sh" "$@"