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>
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>
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
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
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>
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>
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>
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>
The vendor package requires soname of wrappers to work.
Change-Id: I410d5138ebe64e69e01ed20788636ff26b0f36e2
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
The default optimize level is O3, there're more to come.
Change-Id: I4671d9664a565c43300ec46a0aa6ac91661bd607
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>