Commit graph

192 commits

Author SHA1 Message Date
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
0138006ee6 scripts: Make sure return 0 when finished
Change-Id: Idc0e9953960d74d58149809209b833bd366c0919
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-04-28 09:31:23 +08:00
Zhen Chen
a1027b4109 libmali: 3588: add arm32 libs of libmali of g6p0-01eac0-6
Actually added libs:
lib/arm-linux-gnueabihf/libmali-valhall-g610-g6p0-dummy.so
lib/arm-linux-gnueabihf/libmali-valhall-g610-g6p0-gbm.so
lib/arm-linux-gnueabihf/libmali-valhall-g610-g6p0-wayland.so
lib/arm-linux-gnueabihf/libmali-valhall-g610-g6p0-x11.so

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: Ifb4b24a6d58fc08bf435301d236ec113b68f6214
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-04-27 21:48:49 +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
Zhen Chen
36da61a55d libmali: 3588: arm64: add libmali-valhall-g610-g6p0-dummy.so of g6p0-01eac0-6
It was built with gcc-linaro-4.9.4 as other libmali for g610 here.

Change-Id: I227599e28814ce31d3962368a5d741904e9a08dc
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-04-26 14:33:01 +08:00
Jeffy Chen
454ff09d74 Drop valhall dummy libraries
These libraries depends on new glibc and libstdc++(with GCC 10.3), which
is unusable for old systems.

Let's drop them, and replace with proper ones(with GCC 4.9) later.

Change-Id: Ia723592bfd5369811a306cad1d832773cd62284e
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-04-24 18:12:27 +08:00
Zhen Chen
5012876a83 libmali: 3588: arm64: update libmali-valhall-g610-g6p0-wayland.so to g6p0-01eac0-6
Compared to version g6p0-01eac0-5, there is following important change:
1. wayland: 移除wayland_server中对"authorize_allocator"接口的调用.

Change-Id: I759a7321b3c824bd26e952c66eec120fdea6f64c
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-04-11 18:31:05 +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
365ba4d7d3 libmali optimized for size: px30, 3326: add libs of libmali of g2p0-01eac0-9
Change-Id: I62ebd90cbd106d1c1eb20a6f280ceef8ff63cc8e
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-03-23 18:15:43 +08:00
Jeffy Chen
21d3ac0cda HACK: scripts: Add fixup_dynsym.py
Some pre-built mali libraries would have local symbol issue:

readelf -s <libmali.so>:
Warning: local symbol 9 found at index >= .dynsym's sh_info value of 9

Let's use lief to increase .dynsym section's sh_info to workaround it.

Change-Id: Icf2037824d9c1312c5b24b982f628319a118988a
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-03-22 13:10:15 +08:00
Zhen Chen
b35e1b288b GPU: 3588: mali_csffw.bin from DDK g11p0-01eac0
Change-Id: If3dabce3de66ddef6a5e9c68431d289d689240b1
2022-02-24 19:32:16 +08:00
Zhen Chen
c1ce9235ee libmali: 3588: add more arm64 libs of libmali of g6p0-01eac0-5
Actually add libs needed by 3588 NVR device:
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-without-cl-dummy-gbm.so
optimize_s/aarch64-linux-gnu/libmali-valhall-g610-g6p0-without-cl-dummy-gbm.so

In addition, update debian/control and debian/targets by running "./scripts/update_debian.sh".

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I70dde9979ca3e9542a7ae8fcb25d89723b8dc4ea
2022-01-27 09:24:56 +08:00
Zhen Chen
1c190be5b9 3588: add mali_csffw.bin from DDK g10p0-01eac0
Firmware for G610 GPU's CSF MCU, from:
<DDK>/firmware_prebuilt/todx/mali_csffw.bin.

Change-Id: I47bfb311be21936dafe580e75d24a396eb7ad34f
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2022-01-27 09:23:24 +08:00
Zhen Chen
7b1f7d965c libmali: 3588: add arm64 libs of libmali of g6p0-01eac0-5
Relative to version g6p0-01eac0-2, there are following important changes:
1. F: base/mali_base_submission_internal.h: 修复因为 BASE_CSF_CACHE_LINE_SIZE 定义为 uint32_t 导致按位算掩码的结果不符合预期问题
2. F: gles/src/draw/backend/mali_gles_draw_helpers_nx.cpp: 修复 创建texture table不销毁,导致的内存泄漏问题
3. rk_exts: x11: 扩展实现 egl_spec 定义的 "swap_interval 为 0" 行为

Actually updated libs:
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-gbm.so
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-wayland.so
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-x11.so
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-dummy.so
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-dummy-gbm.so

Note that the last two libmalis were built with GCC 10.3.

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: Iae675fc68d6266baf86c49e4182b887581965313
2022-01-27 09:23:23 +08:00
Zhen Chen
93b0145af7 rk3399: libmali-midgard-t86x-r18p0-wayland.so: arm32 & arm64: Update to rk_so_ver "5", on Midgard DDK r18p0-01rel0
Include followinig change:
rk_exts: wayland: 添加 egl_spec 定义的 "swap_interval 为 0" 行为

This could also fix the issue reported in https://redmine.rock-chips.com/issues/335131.
According to the back_trace when the app was stuck,
it's confirmed that get_window_target_buffer() in libmali was blocked in 'osu_sem_wait(&surf->buffer_limit);',
while the value of 'surf->buffer_limit' is 0.
The same stuck problem had been encountered and resolved
in the completed task "adding support for the case of swap_interval is 0", from which this commit comes.
The cause of the problem was that the original wayland/client/winsys/mali_egl_winsys.c
did not deal with buffer_release_event properly.
It was resolved by adding egl_winsys_surface::buffer_queue
and corresponding processes of handling events_for_buffers.

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I4d4e2651114f221ffc0117b4a8166fa1b7cb8f02
2022-01-27 09:23:21 +08:00
Jeffy Chen
345060e4a1 Drop midgard r14p0 and bifrost rXp0
We've bumped to midgard r18 and bifrost g2p0 for a long time.

Change-Id: Iaf8a688117ccdb23357aa067fb670f386dce2895
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-01-13 18:39:37 +08:00
Zhen Chen
968a490837 3588: add mali_csffw.bin from DDK g9p0-01eac0
Firmware for G610 GPU's CSF MCU, from:
<DDK>/firmware_prebuilt/todx/mali_csffw.bin.

Change-Id: I1bf01bd2279b10a0af744b367f553348093ddc41
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2021-12-22 20:42:26 +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
Zhen Chen
c4b6502619 libmali: 3588: add arm64 libs of libmali of g6p0-01eac0-2
Disable sha1_hw_support in all the libmalis.
x11: resolve page_fault_of_libmali_on_g6_for_3588_x11

Actually updated libs:
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-wayland.so
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-x11.so
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-dummy.so
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-dummy-gbm.so
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-gbm.so

Change-Id: I405da60f37498940d6522854c09fc3a6603f5422
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2021-12-14 14:12:57 +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
Zhen Chen
52c07d76b2 libmali: 3588: add arm64 libs of libmali of g6p0-01eac0-1
Actually added libs:
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-dummy-gbm.so
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-gbm.so
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-wayland.so
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-x11.so
lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-dummy.so

In addition, update debian/control and debian/targets by running "./scripts/update_debian.sh".

Change-Id: Ia1967b29ef6e456bf010e96d7ae1ea0a2d9344dd
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-11-05 09:25:04 +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
e73f573666 Speed up normalizing
Speed up normalize.sh and update_debian.sh.

Also remove the unneeded default libs.

Change-Id: I92745708496e28d5e2adfef24dfb4f5fd59c9f5e
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-11-03 11:15:32 +08:00
Jeffy Chen
0d680a9da1 debian: Sort targets
The find command might provide different results in different version.

So let's sort debian targets after all.

Change-Id: I2c7e0646058b6b84e56c48e6e029fa27e6f72502
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-11-03 09:22:58 +08:00
Jeffy Chen
e4f0a768ea debian: Force enabling wrappers
The vendor package requires soname of wrappers to work.

Change-Id: I410d5138ebe64e69e01ed20788636ff26b0f36e2
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-10-13 11:40:07 +08:00
Zhen Chen
ec70b4f911 libmali: px30, 3326: add libs of libmali-bifrost-g31-g2p0-only-cl.so of g2p0-01eac0-8
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I2bd578ba37dcb1b829dfa13d2a13ed712192d065
2021-09-17 11:32:06 +08:00
Zhen Chen
3dcc0cedc1 libmali: px30, 3326: add libs of libmali of g2p0-01eac0-7
Actually added libs of libmali :
lib/aarch64-linux-gnu/libmali-bifrost-g31-g2p0-gbm.so
lib/aarch64-linux-gnu/libmali-bifrost-g31-g2p0-wayland.so
lib/aarch64-linux-gnu/libmali-bifrost-g31-g2p0-without-cl-wayland.so
lib/aarch64-linux-gnu/libmali-bifrost-g31-g2p0-x11.so
lib/arm-linux-gnueabihf/libmali-bifrost-g31-g2p0-gbm.so
lib/arm-linux-gnueabihf/libmali-bifrost-g31-g2p0-wayland.so
lib/arm-linux-gnueabihf/libmali-bifrost-g31-g2p0-without-cl-wayland.so
lib/arm-linux-gnueabihf/libmali-bifrost-g31-g2p0-x11.so

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I9e0b3bb45e9254a5742497615f6ab2fb8aec8c17
2021-09-17 11:31:51 +08:00
Zhen Chen
7d1202629f libmali optimized for size: 356x: add libmali-bifrost-g52-g2p0-without-cl-dummy-gbm.so of g2p0-01eac0-6
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I5c0806d4860099e2703ce2028c50d4b70cc4f370
2021-08-31 17:09:12 +08:00
Zhen Chen
9b60ed074f libmali optimized for size: 356x: add libmali-bifrost-g52-g2p0-dummy-gbm.so of g2p0-01eac0-6
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I2d2ff45b4e536120600431481fb1bb6a5b6425dc
2021-08-31 17:08:41 +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
5c877bacdb debian: Simplify conflicts logic
By using virtual package:
https://www.debian.org/doc/debian-policy/ch-relationships.html#replacing-whole-packages-forcing-their-removal

Change-Id: I2ad66790653aa953a71816aaee10a93142891923
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-08-26 15:51:33 +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
Zhen Chen
48d1e94e43 libmali: 356x: add libmali-bifrost-g52-g2p0-without-cl-dummy-gbm.so of g2p0-01eac0-5
Change-Id: I1b84ac991b87b193c7481ab813f65fa66eeb08d8
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-08-05 09:38:04 +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
Zhen Chen
ad4c28932c Update libs of libmali_for_356x to g2p0-01eac0-4
Compared to previous version, only libmalis with primary_winsys of x11 are changed.

Include following changes :
	add platform_get_window for X11 eglCreatePlatformWindowSurfaceEXT()

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: Ibc0340ca709a10e50cf8d2cb395b25773eb2dbd1
2021-06-11 18:22:57 +08:00
Zhen Chen
8f79d97797 Update libs of libmali_for_356x to g2p0-01eac0-3
The "3" at the end is "rk_so_ver".

It was reported by Jeffy Chen
that the patchelf, I used to process libs of libmali_for_356x_of_g2p0-01eac0-2,
is too old, resulting in building errors, such as :
root@Jeffy-Linux:/nvme/external/libmali/lib/aarch64-linux-gnu# aarch64-linux-gnu-strip libmali-bifrost-g52-g2p0.so
aarch64-linux-gnu-strip: stJK01Xo: not enough room for program headers, try linking with -N
aarch64-linux-gnu-strip:stJK01Xo[.note.gnu.build-id]: bad value
...

So, the libs of libmali_for_356x_of_g2p0-01eac0-3 were processed
by the patchelf provided by Jeffy Chen.

Change-Id: I0c321872efaa7a48fd57b075af631678d9be88ba
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2021-03-30 22:18:17 +08:00
Jeffy Chen
31e3447598 meson: Fix install error in meson 0.56
Fix install error:
cp: target 'libMali.so.1.p' is not a directory

Change-Id: Id7bee27f8c4d1f34bcee55156f789cd34a2cbfa7
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-03-30 00:29:55 +08:00
Jeffy Chen
4cf486cc83 Run update_debian.sh in normalize.sh
Update debian control and rules when normalizing libraries.

Change-Id: I7d7285f3bf0ff2836b9580d6cc6b4ffe3256d941
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-03-27 05:06:37 +08:00
Jeffy Chen
45b81eb0de Support dummy subversion
Support using dummy as subversion or main display platform.

Change-Id: I416015f29ff486d172c2290e1772fc0a9b711457
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-03-27 04:31:53 +08:00
Jeffy Chen
d0024701b4 debian: Update for bifrost-g52
Run ./update_debian.sh

Change-Id: Ib67c5786a1d345ebfeea3fbb49d46ac61aae47c0
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-03-27 04:26:12 +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
Zhen Chen
daa080f3e7 Add dummy-gbm libs of libmali_for_356x_of_g2p0-01eac0-2
The "2" at the end is "rk_so_ver".

The full name of these libs is libmali-bifrost-g52-g2p0-dummy-gbm.so
"dummy-gbm" means that DUMMY is the primary_winsys, while GBM is also supported.
Some customers need this kind of libmali,
please refer to https://redmine.rock-chips.com/issues/290595.

The libs are including OpenCL implementation.

Change-Id: Ib7d379291d0949c10dc929d29d2b936b5cf97b0c
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2021-03-25 16:55:06 +08:00
Zhen Chen
a9335f4d3e Add libs of libmali_for_356x_of_g2p0-01eac0-2
The "2" at the end is "rk_so_ver".
We could query this version info from binary file of libmali, such as :
	strings libmali-bifrost-g52-g2p0-wayland.so | grep rk_so_ver
It would return:
	arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '2'.

The libs are including OpenCL implementation.

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: Ie7fe55ece977468ff7d45801fe1b2c31dc76f8a8
2021-03-16 18:14:53 +08:00
Jeffy Chen
23c7c3d261 debian: Simplify the install logic
Change-Id: Ie3f15943acbc37f30ddc044b69b0d73250804fba
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-03-10 07:42:28 +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