egl: Bring back util_cpu_trace_init

Partially reverts "perfetto: unify init". EGL lib uses perfetto,
but after the change, util_cpu_trace_init doesn't happen inside
libEGL.so, so when it tries to use perfetto, it crashes.
Perfetto initialization happens inside other Mesa's libs, but
each lib that uses perfetto must initialize it.

Fixes: c7045e3e63 ("perfetto: unify init")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37303>
This commit is contained in:
Danylo Piliaiev 2025-09-11 17:36:47 +02:00 committed by Marge Bot
parent 32b4412d54
commit 715b8ba539

View file

@ -406,6 +406,9 @@ eglGetDisplay(EGLNativeDisplayType nativeDisplay)
_EGLDisplay *disp;
void *native_display_ptr;
#if !DETECT_OS_ANDROID
util_cpu_trace_init();
#endif
_EGL_FUNC_START(NULL, EGL_OBJECT_THREAD_KHR, NULL);
STATIC_ASSERT(sizeof(void *) >= sizeof(nativeDisplay));
@ -470,6 +473,9 @@ eglGetPlatformDisplayEXT(EGLenum platform, void *native_display,
EGLAttrib *attrib_list;
EGLDisplay disp;
#if !DETECT_OS_ANDROID
util_cpu_trace_init();
#endif
_EGL_FUNC_START(NULL, EGL_OBJECT_THREAD_KHR, NULL);
if (_eglConvertIntsToAttribs(int_attribs, &attrib_list) != EGL_SUCCESS)
@ -484,6 +490,9 @@ PUBLIC EGLDisplay EGLAPIENTRY
eglGetPlatformDisplay(EGLenum platform, void *native_display,
const EGLAttrib *attrib_list)
{
#if !DETECT_OS_ANDROID
util_cpu_trace_init();
#endif
_EGL_FUNC_START(NULL, EGL_OBJECT_THREAD_KHR, NULL);
return _eglGetPlatformDisplayCommon(platform, native_display, attrib_list);
}
@ -657,6 +666,7 @@ eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor)
{
_EGLDisplay *disp = _eglLockDisplay(dpy);
util_cpu_trace_init();
_EGL_FUNC_START(disp, EGL_OBJECT_DISPLAY_KHR, NULL);
_eglDeviceRefreshList();