Commit Graph

16 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
adc896cfa3 hook: Support setting default winsys for eglGetDisplay()
Tested on RK3588 EVB with:
1/ Set MALI_DEFAULT_WINSYS env to gbm/wayland/x11.
2/ Check eglGetDisplay() and eglInitialize().

Change-Id: Id7c6af57b87f81fefc4166c9ef27e8411d2a7c25
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
2022-10-21 14:57:56 +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
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