Commit graph

257 commits

Author SHA1 Message Date
Jeffy Chen
df73c5795e scripts: Update script for fixing up local symbols
Workaround local symbol warning:
'found local symbol in global part of symbol table'
Or:
'invalid local symbol in global part of symbol table'

depends on lief (pip3 install lief)

Change-Id: I66fbd9ce924354e2ffc1024903e61bf2ac01011d
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2024-10-09 08:43:59 +08:00
Jacob Chen
a6246a058c libmali: add x11-wayland-gbm backend support for G52
Change-Id: I33c94f70c513cf78518e0cc7f32f6ea23add36e8
Signed-off-by: Jacob Chen <cc@rock-chips.com>
2024-09-23 17:31:23 +08:00
Jacob Chen
5b663af01a libmali: update G31/G52/G610 userspace legacy driver to g13p0-11
Change-Id: Ibb298e2de733f65bc06b24c1e8af18a868c8a64d
Signed-off-by: Jacob Chen <cc@rock-chips.com>
2024-09-23 14:25:19 +08:00
Caesar Wang
c531368755 lib: update libmali so
run `./scripts/normalize.sh`

Change-Id: Ife1c2f41ca1508867792e4c8e336eead6a37bcbf
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2024-09-12 14:31:13 +08:00
Li Huang
7f57be417a libmali: update G610 userspace driver to g24p0-3
Change-Id: I5390d86a2ac3c8ecc9ff3a6d2fb92f48cc5e02bc
Signed-off-by: Li Huang <putin.li@rock-chips.com>
2024-09-10 16:16:48 +08:00
Jeffy Chen
d3603a8431 HACK: hook: Workaround chromium in-process-gpu error
Tested on RK3588 EVB with:
1/ Downgrade wayland to 1.21.0
2/ Run "chromium --in-process-gpu"

Change-Id: I128b83431797bbab457d2ff1f02173bcaab19225
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2024-07-24 18:12:58 +08:00
Jeffy Chen
3c3843198e hook: Fix crash in eglChooseConfig() without attrs
The attrs might be NULL.

Change-Id: If80c15f12f51cc739ee0177da97ac5ae8ec689d1
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2024-05-15 11:47:56 +08:00
Jeffy Chen
751535b76d hook: Link with libmali.so
To make sure that the libmali.so is loaded before the initial no-load
dlopen() here.

Fix dlopen() error when linking with libmali-hook.so alone:
FATAL: dlopen(libmali.so.1) failed((null))

Change-Id: I66599d9125322a956470189e926870bb6fcb635c
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2024-04-07 12:42:24 +08:00
Jeffy Chen
2520ec750e hook: Define EGL_NO_X11 when x11 is disabled
Change-Id: I89ac1474b96d3bb90f599469fdd4470529b3034d
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2024-03-28 09:59:02 +08:00
Jeffy Chen
260227ee55 hook: Fixup EGL_OPENGL_BIT in eglChooseConfig()
Tested on RK3588 EVB (Debian 11) with:
1/ export QT_XCB_GL_INTEGRATION=xcb_egl
2/ Run Qt application

Change-Id: I31d1ad9390c2b674f690c78d65362163951f0509
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2024-03-28 09:54:52 +08:00
Jeffy Chen
36422aee77 hook: Intercept all overridden functions in eglGetProcAddress
Change-Id: Iefe54515c6f9530261a43d2643c9a3f6c1129af0
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2024-03-28 09:54:52 +08:00
Jeffy Chen
ab3d91e3df debian: Update copyright
Change-Id: I9903ab4ca73900b21719c24b3cde031ee84f0b94
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2024-02-29 11:24:51 +08:00
Li Huang
d884f2622a Update: Utgard 450 only x11: rk_so_ver 11
fixup eglCreateSurface error EGL_BAD_ALLOC

Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: I53b4ff60534923fb90c0c8131bb9214ef7e9b7b1
2024-01-22 10:55:28 +08:00
Li Huang
7adfe87db6 Update: Utgard 450 only x11: rk_so_ver 10
1. fixup time consuming on glclear, cause by dri2
2. fixup mmap failed, pixmap egl image must use gbm map
3. Use env RK_MALI_SURFACELESS_DISABLE to disable EGL_KHR_surfaceless_context

Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: I099343c4f82872420dfb34c3926beb6fa1ec0753
2024-01-22 10:52:21 +08:00
Jeffy Chen
6696882361 hook: Fix missing gbm functions error
Load all required gbm symbols dynamically.

Change-Id: Iccead1b2037e48f13ceac24fafce1fa13c7325c8
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2024-01-19 11:16:24 +08:00
Zhen Chen
e08ced3e02 GPU: 3588: formal mali_csffw.bin in DDK g21p0-01eac0
sha1sum is 4247499486eb7a657a4be449ebbf80a4a9e09b5c
MUST be used with valhall_device_driver of DDK g21p0-01eac0

For the device driver, DDK version, such as "g21p0-01eac0", could be found
in file kernel/drivers/gpu/arm/bifrost/Kbuild:
"MALI_RELEASE_NAME ?= '"g21p0-01eac0"'".

It could be also found in commits messages under kernel/drivers/gpu/arm/bifrost,
such as:
"MALI: rockchip: upgrade bifrost DDK to g21p0-01eac0, from g18p0-01eac0".

Change-Id: I19aca1a6753a6c1a3cc3ebf96613efbcd75b7a73
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2023-12-28 10:23:56 +08:00
Jeffy Chen
6d3d9606f6 hook: Unset current surface before destroying it
Change-Id: I9396a4a0559bcabbd4d0c9568122579ab8fe6c90
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-12-25 12:05:59 +08:00
Jeffy Chen
e64a7dacf4 hook: Stop linking with libmali library
Load all required symbols dynamically.

Change-Id: I6ac7ec57e7fdc7fc3018e418b914593cbbed60ba
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-12-25 12:00:56 +08:00
Li Huang
f8b021d13c Update: Utgard for mali400: rk_so_ver 8
Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: Ib8ccd39e55aee9f88a497111037ae5cd565ad293
2023-12-15 10:47:30 +08:00
Li Huang
aa012ad35c Update: Utgard: rk_so_ver 8
1. Add some unsupported gbm interfaces.
2. EGL rendertype mask add EGL_OPENGL_BIT

Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: Ieb75133b16d88001c7d8b9682948d94957e944a3
2023-12-15 10:46:55 +08:00
Caesar Wang
9f2a45e67a libmali: update libmali-bifrost-g52-g2p0-gbm.so for arm 32bit
run:
./scripts/normalize.sh

Change-Id: Ib4227e3342c07a96c09610344d09b75379cfa42c
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2023-12-15 10:45:23 +08:00
Li Huang
3860924ab2 Update: Utgard: rk_so_ver 6
disable cache on DRM_IOCTL_MODE_CREATE_DUMB, on gbm_bo_create

Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: I6956c6943eab5c81b8d583b257e6a7d7154fbc1d
2023-12-11 09:23:23 +08:00
Li Huang
6b83647556 Update: Utgard: rk_so_ver 5
Add EGL_KHR_surfaceless_context support for GLES1 | GLES2 bit

Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: I6674c2372a977fdb2b0cdbb77ed32f764ad33eb2
2023-12-11 09:21:50 +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
Jacob Chen
bd6bb09578 libmali: update G31/G52/G610 userspace driver to g13p0-10
Change-Id: I94a444d7e6be75ad723ec8109b047e2b1663e2b0
Signed-off-by: Jacob Chen <cc@rock-chips.com>
2023-10-16 18:25:26 +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
Jacob Chen
c45e68f5f4 libmali: update G610 userspace driver to g13p0-9
Change-Id: Ib130fb994bd3933a0c51082d97c2385c2341fa57
Signed-off-by: Jacob Chen <cc@rock-chips.com>
2023-09-16 07:29:06 +08:00
Zhen Chen
314f19c6e7 libmali: update G610/G52/G31 userspace driver that supports wayland to g13p0-01eac0-7
Compared to g13p0-01eac0-6, the following changes are made:
- GBM: YUV format and wl_buffer importation support
- F: wayland: from 陈渐飞: Fix 2 bugs

Change-Id: I806f63818b3a75e61bba951440ae97817fdf1f5c
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-08-23 14:51:12 +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
2997fe73f1 hook: Export EGL_EXT_platform_base APIs
It's part of EGL 1.5 features, some clients might call them directly.

Change-Id: I508d4c5afb73f2d8c1d9d781b2a64154296207b0
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-08-18 16:56:05 +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
205c5261a1 CL: Bump headers
Bump to tag v2023.04.17 in:
https://github.com/KhronosGroup/OpenCL-Headers.git

Change-Id: Ic13a6a81906101a9aeab7ecbc1bdd0aa894e4302
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-07-24 17:41:58 +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
81333f14a8 include: Drop unused FBDEV
Change-Id: Ib73b7c1156e804ef7a3e65887cd6621912dad080
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-07-24 16:19:16 +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
Jacob Chen
9869c5a8aa libmali: update G610 userspace driver to g13p0-6
Change-Id: Ibea3742108e3ec2b28889242c6e54da0f4189bf8
Signed-off-by: Jacob Chen <cc@rock-chips.com>
2023-06-25 09:38:51 +08:00
Jacob Chen
8f1020cdae libmali: update G610 userspace driver to g13p0-5
Change-Id: Icd10267280615f9a88e561f079ac6928af3e5cfa
Signed-off-by: Jacob Chen <cc@rock-chips.com>
2023-06-20 09:50:28 +08:00
Zhen Chen
ca33693a03 GPU: 3588: mali_csffw.bin for DDK g18: update to fw_230426(mali_csffw.bin.on_r43_from_Yao.20230426_1721)
When used in conjunction with the kernel patch "WA: Mali: bifrost: disable tiler heap reclaiming,"
it can resolve the issue reported in https://redmine.rock-chips.com/issues/414343.

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I3be309548d78d358df25625a1576a5a987adbdc5
2023-06-08 10:31:44 +08:00
Zhen Chen
fc8e00761e GPU: 3588: formal mali_csffw.bin in ddk g18p0-01eac0
sha1sum is 05cb1dee820b5e874fa7b03c941b58dfc01360ed.
MUST be used with valhall_device_driver of DDK g18p0-01eac0

The DDK version, such as "g18p0-01eac0", could be found
in file kernel-5.10/drivers/gpu/arm/bifrost/Kbuild:
"MALI_RELEASE_NAME ?= '"g18p0-01eac0"'".

It could be also found in commits messages under kernel-5.10/drivers/gpu/arm/bifrost,
such as: "MALI: rockchip: upgrade bifrost DDK to g18p0-01eac0, from g17p0-01eac0".

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I2502f4764c762f28ee388a350b38bd16aac449ed
2023-05-05 10:00:30 +08:00
Jeffy Chen
88506995ad hook: Hack gbm_bo_get_modifier to use linear for invalid modifier
The Mali vulkan would not accept invalid modifier:
https://github.com/vkmark/vkmark/pull/47

Tested on RK3588 EVB with:
vkmark --winsys kms

Change-Id: I995a91aca0c55d15fc67bb70fdbbfc5cb32ea198
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-04-13 13:25:30 +08:00
Jeffy Chen
56a5e01c2a normalize:sh: Add dependencies checking
Change-Id: I7284b29ab3a5deaee042bd3b0b3eac2a6c2d8738
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-04-13 13:20:34 +08:00
Zhen Chen
488f49467f GPU: 3588: formal mali_csffw.bin in ddk g17p0-01eac0
sha1sum is 1761c6fffbee4616831b9ffd71c5d372d6cd3954
MUST be used with valhall_device_driver of DDK g17p0-01eac0

The DDK version, such as "g17p0-01eac0", could be found
in file kernel-5.10/drivers/gpu/arm/bifrost/Kbuild:
"MALI_RELEASE_NAME ?= '"g17p0-01eac0"'".

It could be also found in commits messages under kernel-5.10/drivers/gpu/arm/bifrost,
such as:
"5fd0cf3 MALI: rockchip: upgrade bifrost DDK to g17p0-01eac0, from g15p0-01eac0".

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I0f149a24013f8b9528e95369634b40e878434c21
2023-03-15 15:31:53 +08:00
Jacob Chen
9cffadd784 libmali: update G610/G52/G31 userspace driver to g13p0-3
X11 core extensions:
    EGL_KHR_platform_x11
    EGL_EXT_platform_x11

Change-Id: I6fd54867ea20840aecf4eb863d9d6a4dc26f5cd1
Signed-off-by: Jacob Chen <cc@rock-chips.com>
2023-02-17 14:29:28 +08:00
Li Huang
c68ce43923 Update: Utgard: rk_so_ver 4
Change-Id: I729a89c21230f13a18e9df2878178329985e75aa
Signed-off-by: Li Huang <putin.li@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-02-17 10:24:07 +08:00
Jacob Chen
d91e3fa150 libmali: update G610/G52/G31 userspace driver to g13p0-2
run `./scripts/normalize.sh`

note: The required patchelf version on PC.
patchelf > 0.9

Change-Id: I57b4ef6fd7c4b11e47df4a9a10e93e989d8d09d1
Signed-off-by: Jacob Chen <cc@rock-chips.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2023-02-16 09:09:15 +08:00
Jeffy Chen
fd04d272df scripts: normalize.sh: Rework out-dated dep replacement
No functional changes.

Change-Id: I58f7113cfd199d2e884d3d5c78b9842e2f4202cf
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2023-02-14 18:05:38 +08:00
Zhen Chen
309268f7a3 GPU: 3588: formal mali_csffw.bin in ddk g15p0-01eac0
sha1sum is a6c773301766a84e9e8687b5ba5fb7be8e51ad57.
MUST be used with valhall_device_driver of DDK g15p0-01eac0.

valhall_device_driver is for Mali Valhall GPU, such as G610 in rk3588.
bifrost_device_driver is for Mali Bifrost GPU, such as G52 in rk3568 and G31 in rk3326.
They use the same set of codes, the main part is under kernel-5.10/drivers/gpu/arm/bifrost.
If config MALI_CSF_SUPPORT is enabled, the directory would be built as valhall_device_driver;
otherwise, it would be built as bifrost_device_driver.

The DDK version, such as "g15p0-01eac0", could be found
in file kernel-5.10/drivers/gpu/arm/bifrost/Kbuild:
"MALI_RELEASE_NAME ?= '"g15p0-01eac0"'".
It could be also found in commits messages under kernel-5.10/drivers/gpu/arm/bifrost,
such as:
"4491e60 MALI: rockchip: upgrade bifrost DDK to g15p0-01eac0, from g13p0-01eac0".

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I47bc8004c85b5cdfb1f8f89a3033881a2f21b734
2022-11-21 16:22:02 +08:00