Commit graph

44 commits

Author SHA1 Message Date
Aleksandr Mikhailov
08a277688b meson: Use sysconfdir to access /etc/profile.d
Change-Id: I39ed87d666a2636f0660c31f992ed4e9ce9e77f8
Signed-off-by: Aleksandr Mikhailov <iam@fidonode.me>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2025-04-25 22:31:48 +08:00
Jeffy Chen
7c02ab45de meson: Lower RT thread priority
To avoid affecting other RT threads.

Change-Id: I697602395c050554965e3ea0b7e3cab80f881801
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2025-04-01 12:08:34 +08:00
Jeffy Chen
da4d604016 meson: Avoid building hook library when not needed
The hook library is for hacking GBM/EGL/X11 APIs.

Change-Id: I98c0d0a4fff4b1a56688e82367cf563700eec8f9
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2025-02-28 18:42:39 +08:00
Jeffy Chen
af1d910cd2 meson: Fix rpath error
Fix the issue where rpath introduces absolute paths when building
outside the source directory.

Change-Id: I4d5fd66211e0fea5ce0dc8fd0d1bb2e32bd0fc6f
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2025-02-26 08:34:59 +08:00
Jeffy Chen
8112c82ac2 meson: Make wayland-egl wrapper optional
Change-Id: Ie94a62129280ffeb887689f7f1eb9d404b0b2fe9
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2025-02-25 12:15:59 +08:00
Jeffy Chen
3dcbe62f88 meson: Cleanup rpath
We don't need special rpath.

Change-Id: I818416e89900180bbf572b740da01b832023aca8
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-11-28 09:45:43 +08:00
Jeffy Chen
38ae3b4935 meson: Lower version requirement to 0.53.0
Change-Id: I0daf2e72ece536bcd161bf0d7ea39e56fde23e27
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-11-28 09:45:38 +08:00
Jeffy Chen
f450951d02 meson: Add firmware-dir option
It might require custom firmware dir for cases like 'usr merge'.

Change-Id: Icaacd3fa26a8ff5bb2e7b8413c6e165b331ab16b
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-11-07 10:47:12 +08:00
Jeffy Chen
e20cb2ca26 meson.build: Set --no-as-needed for wrappers
The asneeded might be enabled by default in the OS.

Change-Id: I4d18b04a3619673b403af85069d3f0300a1c3731
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-09-26 15:30:31 +08:00
Jeffy Chen
a8f0ba6793 meson: Check for platform dependencies
The cc.has_function() would fail if any dependency not found.

Change-Id: I208a391f4d3c23a072bb6f2c25c9f8ec8c4f8a18
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-08-18 17:02:11 +08:00
Jeffy Chen
0e80946694 hook: Rename libmali_hook.so to libmali-hook.so
Change-Id: I236242792bba8d160d01128dcf81d094dd59785c
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-08-18 10:56:50 +08:00
Jeffy Chen
089692e6f9 meson: Detect CL version
Different DDK might have different CL versions.

Change-Id: I7384a0f653e3e774cc46a4c545a5697986a31e27
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-07-24 17:42:53 +08:00
Jeffy Chen
2f52a7c5f5 gbm: Bump to meson-23.1.3
Major changes:
1/ Add gbm_bo_create_with_modifiers2 and gbm_surface_create_with_modifiers2.
2/ Add headers for different versions of GBM.
3/ Detect platforms from library content.

Change-Id: Iaca158a926f5fe8c14698eb7e2ad5a427eb1632c
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-07-24 17:41:56 +08:00
Jeffy Chen
85f7cdd485 meson: Fix configure warning
Strip leading 'lib' in find_library().

Change-Id: I549678378dea71631e4523c9bcdcd5bc5ef63517
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-07-24 15:57:16 +08:00
Jeffy Chen
ed07d77005 meson: Force linking dummy libraries to mali
Change-Id: Ib6a7d4483fdab180d359c5647fde58dead6f0364
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-08-16 14:04:48 +08:00
Jeffy Chen
87cc4d961d meson: Fix configure error for multiple mali libs
Use ' ' to split the outout of new grabber.sh.

Change-Id: I1ecd4c2c9f52bf2e64dd45e6a52fd3eb4148e80a
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-08-13 18:12:59 +08:00
Jeffy Chen
6e1c5cbcf5 Refactor for mixed platforms
Major changes:
1/ Allow mixed platforms, e.g. x11-wayland-gbm.
2/ Move extra features, e.g. without-cl, from subversion to platform.
3/ Rename all libraries with GBM API to libmali-*-gbm.so

Change-Id: I9364f8298080788b41c5f3a3cf69aec9a2859ff5
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-07-14 17:13:02 +08:00
Jeffy Chen
9bfa06c27d meson: Support vulkan
Tested with an internal version of DDK for vulkan, vulkaninfo works.

Change-Id: I5875165e3c93b53c77aaeef09fbd673306bae14d
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-05-23 10:39:44 +08:00
Jeffy Chen
ff98f49e36 Add wayland-egl headers from wayland-1.19.0
We are using DDK's wayland-egl libraries.

Change-Id: Icded969533ad40a99ddbb879b986584bbadd2f32
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-05-17 17:16:45 +08:00
Jeffy Chen
75c3888d72 meson: Add more GBM versions
The newer DDK might provide newer API versions.

Change-Id: I4f8188173c356bc6a57d0f002d8f0ec7fbb5b311
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-05-16 15:44:58 +08:00
Jeffy Chen
57c2a4ef30 meson: Fix configure error without hooks
Change-Id: Ia032def48a69b637b573e17fcb2c0cbaa59b7a7e
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-05-16 15:28:19 +08:00
Jeffy Chen
2f07949539 meson: Fix libMali.so type error
It should be a symlink to libmali.

Change-Id: I0b6a14dd4b92e8f5d1b422899f3233ec6b7531c9
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-04-27 21:32:44 +08:00
Jeffy Chen
ba714e875f Support force enabling thread support for X11
By adding a hook library to call XInitThreads() before getting egl
display.

Enabled by default, set env "MALI_X11_NO_FORCE_THREADS" to disable.

Change-Id: I0af8b29c90149bd7a920bfd54f06d5129b5e446c
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-03-25 14:58:08 +08:00
Zhen Chen
58413ff26a 3588: add mali_csffw.bin from DDK g7p0-01eac1
Firmware for G610 GPU's CSF MCU, from:
<DDK>/firmware_prebuilt/todx/mali_csffw.bin.

Change-Id: If06487f035bfbc455cb14c8763a7408eb6c66df9
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-12-14 14:46:26 +08:00
Jeffy Chen
2f395cdb33 gbm_wrapper: Bump to meson3d 21.2.6
Major changes:
1/ Add wrapper for gbm_bo_get_fd_for_plane(only support plane 0).
2/ Drop gbm_surface_needs_lock_front_buffer.
3/ Add GBM_BO_USE_PROTECTED(just for compiling).

Change-Id: I8075c37708153cf5f7f4b2cbbf931e90ec3ac24e
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-11-29 11:10:55 +08:00
Jeffy Chen
b235a52d08 Move scripts and sources to sub directories
No functional changes.

Change-Id: I2564bb309dc6bdff245b5689f49c6065e61b91c3
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-11-03 11:36:34 +08:00
Jeffy Chen
c861959ac5 meson: Support optimize-level option
The default optimize level is O3, there're more to come.

Change-Id: I4671d9664a565c43300ec46a0aa6ac91661bd607
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-08-31 09:47:44 +08:00
Jeffy Chen
95f6494b12 meson: Don't try to fixup non-existing headers
Change-Id: Ia2cd1b5d80e159a73511232dc67ed7df00eba2ed
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-08-26 15:51:33 +08:00
Jeffy Chen
08e74485c6 meson: Force MESA_EGL_NO_X11_HEADER for non-x11 winsys
Not all users would use the cflags from pkgconfig.

Change-Id: If66570b4fba51c70f2e01bd4911714d78b7a8b7e
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-07-22 11:20:02 +08:00
Jeffy Chen
cd3d4f7cf5 meson: Add required packages in pkgconfig
The mali library might has some required packages.

Change-Id: I67cfa599f386f0fb4ed814c61b8882c64ee11026
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-07-22 11:18:56 +08:00
Jeffy Chen
ec25af4296 meson: Disable wrapper packages for utgard by default
The utgard DDK might not work with wrappers.

Change-Id: I724f9abe218e5ba96e149bf75a5b80c1ea17f3b7
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-07-15 11:28:08 +08:00
Jeffy Chen
86ad51dbe0 meson: Support installing without wrapper packages
Currently we are using wrapper packages to provide new GBM API and
vendor package.

But that requires the API clients honor our package config(.pc) files.

Adding an option to disable wrappers for the ones that don't follow the
rules.

Change-Id: Ie55aa712311c1df21ba0c11b924454febecca9f6
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-03-26 21:35:57 +08:00
Jeffy Chen
5e96f0f52d meson: Support vendor packaging
This is useful for debian-based distributions.

Change-Id: Ib2a1e9bbc878e25c619b5b388a1ad139141cc1a7
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-03-10 06:50:58 +08:00
Jeffy Chen
c3b4a820e1 Support installing khrplatform.h again
Currently the KHR header is depended by mesa's EGL/GLES/GL headers, and
would be provided in mesa-common-dev.

So for the usage of mixing mesa's GL with mali's EGL/GLES, we have to
leave it to mesa's version and let mali uses it's own.

But for people who doesn't want mesa, let's add an option to allow
installing it in mali.

Change-Id: Id6e88e2d7f3c4f6092a3cf1f1078a6a7f284f823
Suggested-by: Gleb Mazovetskiy <glex.spb@gmail.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-01-30 04:44:34 +08:00
Jeffy Chen
2d3dce5e7e Honor the includedir option
Stop using the hard-coded 'include' dirname.

Change-Id: I0ff7dceb81bcbf84e7863dffdf933c41647f6d25
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-01-30 04:40:01 +08:00
Jeffy Chen
6141ad6e6f gbm_wrapper: Load mali library before searching the symbols
The RTLD_NEXT would not work if the gbm library was loaded with
RTLD_LOCAL.

Change-Id: I4256b52271a92e03dbcb490b1e7fabeb32be6401
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-01-27 17:07:33 +08:00
Jeffy Chen
64c6c30728 meson: Use install_subdir to install headers
No functional changes.

Change-Id: Iff46805d7613b91f84e354c2b1872aa4cf3b1c91
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-12-24 11:23:34 +08:00
Jeffy Chen
2f6f3a0e24 meson: Print building options
No functional changes.

Change-Id: I31d31ddd5442589f6c4a1c2e1143c0e3c6f56ff8
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-12-10 15:04:09 +08:00
Jeffy Chen
e012a2bbb8 debian/control: Add missing build deps
These are required by shlibs stage.

Change-Id: I31a2b4fdffbe27504e8ab312bea5b616abf76439
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-10-20 08:28:37 +08:00
Jeffy Chen
07daee4e8a meson: Fix support for OpenCL ICD implementation
The OpenCL ICD implementation should work with OpenCL ICD loader.

So we shouldn't try to install non-ICD OpenCL implementation in this
case.

Change-Id: Idfb4e6058952215075e2cc253c0d5bb43cac6761
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-09-27 17:58:48 +08:00
Jeffy Chen
7359b29cb9 gbm: Compat to mesa3d 20.1.5 APIs
Use gbm wrapper library to provide missing functions.

Change-Id: I62c9838f91adfd2f54df5eb75b256c361c7ce9a0
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-08-13 17:43:00 +08:00
Jeffy Chen
23dbb929bd meson: Require meson >= 0.49.0
Fix this warning:
WARNING: Project targeting '>=0.47.0' but tried to use feature introduced in '0.49.0': / with string arguments

Change-Id: Ic1af5d59d1cbfb11b69c078f7b7754a8ad7cf64b
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-08-13 16:18:24 +08:00
Jeffy Chen
d7695f4218 meson: Only define MESA_EGL_NO_X11_HEADERS in egl.pc
Change-Id: Ice8738a592b85a504355611c4c6096d694b0afcd
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-08-13 09:45:06 +08:00
Jeffy Chen
f127d14e87 Support meson build system
meson build -Darch=aarch64 -Dgpu=bifrost-g31 -Dversion=rxp0 -Dplatform=only-cl

Change-Id: I60bb14e16a9cbc9589b85279680c845f53ed0572
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-07-31 17:00:25 +08:00