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