xref: /OK3568_Linux_fs/buildroot/package/rockchip/rockchip-mali/rockchip-mali.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# rockchip-mali
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunROCKCHIP_MALI_VERSION = master
8*4882a593SmuzhiyunROCKCHIP_MALI_SITE = $(TOPDIR)/../external/libmali
9*4882a593SmuzhiyunROCKCHIP_MALI_SITE_METHOD = local
10*4882a593SmuzhiyunROCKCHIP_MALI_LICENSE = ARM
11*4882a593SmuzhiyunROCKCHIP_MALI_LICENSE_FILES = END_USER_LICENCE_AGREEMENT.txt
12*4882a593SmuzhiyunROCKCHIP_MALI_INSTALL_STAGING = YES
13*4882a593Smuzhiyun
14*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_HAS_EGL),y)
15*4882a593SmuzhiyunROCKCHIP_MALI_PROVIDES += libegl
16*4882a593Smuzhiyunendif
17*4882a593Smuzhiyun
18*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_HAS_GBM),y)
19*4882a593SmuzhiyunROCKCHIP_MALI_PROVIDES += libgbm
20*4882a593Smuzhiyunendif
21*4882a593Smuzhiyun
22*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_HAS_GLES),y)
23*4882a593SmuzhiyunROCKCHIP_MALI_PROVIDES += libgles
24*4882a593Smuzhiyunendif
25*4882a593Smuzhiyun
26*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_HAS_OPENCL),y)
27*4882a593SmuzhiyunROCKCHIP_MALI_PROVIDES += libopencl
28*4882a593Smuzhiyunendif
29*4882a593Smuzhiyun
30*4882a593SmuzhiyunROCKCHIP_MALI_DEPENDENCIES = libdrm
31*4882a593Smuzhiyun
32*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_HAS_X11),y)
33*4882a593SmuzhiyunROCKCHIP_MALI_DEPENDENCIES += libxcb xlib_libX11
34*4882a593Smuzhiyunendif
35*4882a593Smuzhiyun
36*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_HAS_WAYLAND),y)
37*4882a593SmuzhiyunROCKCHIP_MALI_DEPENDENCIES += wayland
38*4882a593Smuzhiyunendif
39*4882a593Smuzhiyun
40*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PX3SE),y)
41*4882a593SmuzhiyunROCKCHIP_MALI_GPU = utgard-400
42*4882a593SmuzhiyunROCKCHIP_MALI_VER = r7p0
43*4882a593SmuzhiyunROCKCHIP_MALI_SUBVER = r3p0
44*4882a593Smuzhiyunelse ifneq ($(BR2_PACKAGE_RK312X)$(BR2_PACKAGE_RK3128H)$(BR2_PACKAGE_RK3036)$(BR2_PACKAGE_RK3032),)
45*4882a593SmuzhiyunROCKCHIP_MALI_GPU = utgard-400
46*4882a593SmuzhiyunROCKCHIP_MALI_VER = r7p0
47*4882a593SmuzhiyunROCKCHIP_MALI_SUBVER = r1p1
48*4882a593Smuzhiyunelse ifneq ($(BR2_PACKAGE_RK3328)$(BR2_PACKAGE_RK3528),)
49*4882a593SmuzhiyunROCKCHIP_MALI_GPU = utgard-450
50*4882a593SmuzhiyunROCKCHIP_MALI_VER = r7p0
51*4882a593Smuzhiyunelse ifeq ($(BR2_PACKAGE_RK3288),y)
52*4882a593SmuzhiyunROCKCHIP_MALI_GPU = midgard-t76x
53*4882a593SmuzhiyunROCKCHIP_MALI_VER = r18p0
54*4882a593SmuzhiyunROCKCHIP_MALI_SUBVER = all
55*4882a593Smuzhiyunelse ifneq ($(BR2_PACKAGE_RK3399)$(BR2_PACKAGE_RK3399PRO),)
56*4882a593SmuzhiyunROCKCHIP_MALI_GPU = midgard-t86x
57*4882a593SmuzhiyunROCKCHIP_MALI_VER = r18p0
58*4882a593Smuzhiyunelse ifneq ($(BR2_PACKAGE_RK3326)$(BR2_PACKAGE_PX30),)
59*4882a593SmuzhiyunROCKCHIP_MALI_GPU = bifrost-g31
60*4882a593SmuzhiyunROCKCHIP_MALI_VER = g13p0
61*4882a593Smuzhiyunelse ifneq ($(BR2_PACKAGE_RK3566_RK3568)$(BR2_PACKAGE_RK3562),)
62*4882a593SmuzhiyunROCKCHIP_MALI_GPU = bifrost-g52
63*4882a593SmuzhiyunROCKCHIP_MALI_VER = g13p0
64*4882a593Smuzhiyunelse ifeq ($(BR2_PACKAGE_RK3588),y)
65*4882a593SmuzhiyunROCKCHIP_MALI_GPU = valhall-g610
66*4882a593SmuzhiyunROCKCHIP_MALI_VER = g13p0
67*4882a593Smuzhiyunendif
68*4882a593Smuzhiyun
69*4882a593Smuzhiyunifneq ($(BR2_PACKAGE_ROCKCHIP_MALI_CUSTOM_PLATFORM),"")
70*4882a593SmuzhiyunROCKCHIP_MALI_PLATFORM = $(BR2_PACKAGE_ROCKCHIP_MALI_CUSTOM_PLATFORM)
71*4882a593Smuzhiyunelse
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun# OpenCL is enabled by default for DDK newer than utgard.
74*4882a593Smuzhiyunifeq ($(findstring utgard,$(ROCKCHIP_MALI_PLATFORM)),)
75*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_HAS_OPENCL),)
76*4882a593SmuzhiyunROCKCHIP_MALI_PLATFORM += without-cl
77*4882a593Smuzhiyunendif
78*4882a593Smuzhiyunendif
79*4882a593Smuzhiyun
80*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_HAS_VULKAN),y)
81*4882a593SmuzhiyunROCKCHIP_MALI_PLATFORM += vulkan
82*4882a593Smuzhiyunendif
83*4882a593Smuzhiyun
84*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_HAS_DUMMY),y)
85*4882a593SmuzhiyunROCKCHIP_MALI_PLATFORM += dummy
86*4882a593Smuzhiyunendif
87*4882a593Smuzhiyun
88*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_HAS_X11),y)
89*4882a593SmuzhiyunROCKCHIP_MALI_PLATFORM += x11
90*4882a593Smuzhiyunendif
91*4882a593Smuzhiyun
92*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_HAS_WAYLAND),y)
93*4882a593SmuzhiyunROCKCHIP_MALI_PLATFORM += wayland
94*4882a593Smuzhiyunendif
95*4882a593Smuzhiyun
96*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_HAS_GBM),y)
97*4882a593SmuzhiyunROCKCHIP_MALI_PLATFORM += gbm
98*4882a593Smuzhiyunendif
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun# Minimal library only for OpenCL.
101*4882a593Smuzhiyunifeq ($(ROCKCHIP_MALI_PLATFORM)|$(BR2_PACKAGE_ROCKCHIP_MALI_HAS_OPENCL),|y)
102*4882a593SmuzhiyunROCKCHIP_MALI_PLATFORM = only-cl
103*4882a593Smuzhiyunendif
104*4882a593Smuzhiyun
105*4882a593Smuzhiyunendif
106*4882a593Smuzhiyun
107*4882a593SmuzhiyunROCKCHIP_MALI_CONF_OPTS += \
108*4882a593Smuzhiyun	-Dwith-overlay=true -Dopencl-icd=false -Dkhr-header=true \
109*4882a593Smuzhiyun	-Dgpu=$(ROCKCHIP_MALI_GPU) -Dversion=$(ROCKCHIP_MALI_VER) \
110*4882a593Smuzhiyun	-Dsubversion=$(subst $(eval) $(eval),-,$(ROCKCHIP_MALI_SUBVER)) \
111*4882a593Smuzhiyun	-Dplatform=$(subst $(eval) $(eval),-,$(ROCKCHIP_MALI_PLATFORM))
112*4882a593Smuzhiyun
113*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_MALI_OPTIMIZE_s),y)
114*4882a593SmuzhiyunROCKCHIP_MALI_CONF_OPTS += -Doptimize-level=Os
115*4882a593Smuzhiyunendif
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun$(eval $(meson-package))
118