Commit graph

330 commits

Author SHA1 Message Date
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
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
728b7bf14f gbm_wrapper: Only filter out unsupported flags
No functional changes.

Change-Id: I359ab9f5eeaae010d070c11184b15cba9bd85109
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-01-27 17:07:33 +08:00
huangds
14dc585521 Support DRM_FORMAT_YUV420 for aarch64 bifrost-g52-r25p0-dummy
Change-Id: Icd9961e83cf404b2bb95cc9e1119b250e5a81b3f
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2021-01-27 17:07:08 +08:00
Jeffy Chen
43b24f4a2c gbm_wrapper: Only allow bypassing linear or invalid modifier
Ignoring all modifiers might confuse the caller.

Change-Id: I27450f32bf7cb6653d1fdf8c8e491ded1642776c
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-12-31 01:38:37 +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
53201e4131 overlay: Fix rk3288 libmali selecting
Change-Id: I8dd7bde9fffd7b5245e6f571b7867319d6d96a3f
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-11-18 16:00:38 +08:00
Li Huang
17dd6012f3 Add Bifrost G52 r25p0-01eac0 for aarch64 x11
Change-Id: Ia5a6fa7e75615e4299df6415b5ff36f83912eae8
Signed-off-by: Li Huang <putin.li@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-11-12 17:42:06 +08:00
huangds
0d808a5ed2 Add Bifrost G52 r25p0-01eac0 for aarch64 dummy
Change-Id: Icbd83e2bcff7fcba3634b06b00b71fd2c3e1d75b
Signed-off-by: huangds <hds@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-11-11 15:05:06 +08:00
Jeffy Chen
2e36060922 Support dummy platform
Currently we are supporting these platforms:
x11 gbm wayland only-cl dummy

Change-Id: I82e01c068730e83dccc10c23e2c9ea528aeac920
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-11-11 15:04:41 +08:00
huangds
83c74156e8 Add Bifrost G52 r25p0-01eac0 for aarch64 wayland only
Other platforms are not ready yet.

Change-Id: I743834824761948a48e531d7f685dd5e07a8a1b1
Signed-off-by: huangds <hds@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-11-11 10:38:20 +08:00
Jeffy Chen
1f02950df0 debian/rules: Clean install dirs as well
Change-Id: I194cb6556182ed0e5289869f1a02a2c0d5f9dd57
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2020-11-10 05:59:05 +08:00