From d79e47c3a485da1fa61f4a59fcae6db45fdfd4f5 Mon Sep 17 00:00:00 2001 From: Xuelian Bai Date: Tue, 27 Feb 2024 16:38:41 +0800 Subject: [PATCH] Fix utc_ecore_evas_pointer_xy_get timeout issue Set fd_render_gpu as -1 when init, avoid 0 value, or it will be released by dri2_display_destroy. Change-Id: I193a49e5fd03520a42aaea964dbf6762b5e60ddb Signed-off-by: Xuelian Bai --- src/egl/drivers/dri2/platform_tizen.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/egl/drivers/dri2/platform_tizen.c b/src/egl/drivers/dri2/platform_tizen.c index b0e9cd0..290a35f 100755 --- a/src/egl/drivers/dri2/platform_tizen.c +++ b/src/egl/drivers/dri2/platform_tizen.c @@ -1554,7 +1554,7 @@ dri2_initialize_tizen(_EGLDisplay *disp) loader_set_logger(_eglLog); - dri2_dpy = calloc(1, sizeof *dri2_dpy); + dri2_dpy = dri2_display_create(); if (!dri2_dpy) return _eglError(EGL_BAD_ALLOC, "eglInitialize"); @@ -1677,6 +1677,8 @@ dri2_initialize_tizen(_EGLDisplay *disp) dri2_dpy->loader_extensions = tizen_swrast_loader_extensions; } + dri2_dpy->fd_display_gpu = dri2_dpy->fd_render_gpu; + if (!dri2_create_screen(disp)) { err = "DRI2: failed to create screen"; goto cleanup_driver; @@ -1687,12 +1689,10 @@ dri2_initialize_tizen(_EGLDisplay *disp) goto cleanup_driver; } - if(dri2_dpy->fd_render_gpu != tbm_bufmgr_fd) { - close(dri2_dpy->fd_render_gpu); + if (dri2_dpy->fd_render_gpu != tbm_bufmgr_fd) { + close(tbm_bufmgr_fd); + tbm_bufmgr_fd = -1; } - close(tbm_bufmgr_fd); - tbm_bufmgr_fd = -1; - dri2_dpy->fd_render_gpu = -1; if (!dri2_setup_extensions(disp)) { err = "DRI2: failed to find required DRI extensions"; @@ -1747,6 +1747,14 @@ cleanup_display: wl_display_disconnect(disp->PlatformDisplay); disp->PlatformDisplay = NULL; } + if (tbm_bufmgr_fd != -1) { + if (dri2_dpy->fd_render_gpu != -1 && dri2_dpy->fd_render_gpu != tbm_bufmgr_fd) { + close(dri2_dpy->fd_render_gpu); + dri2_dpy->fd_display_gpu = dri2_dpy->fd_render_gpu = -1; + } + close(tbm_bufmgr_fd); + tbm_bufmgr_fd = -1; + } free(dri2_dpy); disp->DriverData = NULL; -- 2.7.4