diff options
author | Xuelian Bai <xuelian.bai@samsung.com> | 2024-01-30 15:30:20 +0800 |
---|---|---|
committer | Xuelian Bai <xuelian.bai@samsung.com> | 2024-01-30 15:30:59 +0800 |
commit | 17eb388073c0c1cbda534d26941c225e2c7ca9ce (patch) | |
tree | a59772249eaff881c61789085053ca6c1cf75ca6 | |
parent | f95d5000d4badc46d3bb9bab4209a35b71cdbbdf (diff) | |
download | mesa-tizen_23.3.3.tar.gz mesa-tizen_23.3.3.tar.bz2 mesa-tizen_23.3.3.zip |
Upgrade to upstream 23.3.3accepted/tizen/unified/x/20240220.145938accepted/tizen/unified/20240219.160434tizen_23.3.3
1. Fix failed cases: dEQP-EGL.functional.create_context_ext.robust_gl_3*
2. Replace deprecated fd with fd_render_gpu
3. Replace deprecated _eglAddDevice with dri2_setup_device
Change-Id: Ib9b351d7b56b465aedffdbb674c96afa4aeb16c4
Signed-off-by: Xuelian Bai <xuelian.bai@samsung.com>
-rw-r--r-- | packaging/mesa.spec | 12 | ||||
-rw-r--r-- | src/egl/drivers/dri2/egl_dri2.c | 6 | ||||
-rwxr-xr-x | src/egl/drivers/dri2/platform_tizen.c | 33 | ||||
-rw-r--r-- | src/vulkan/runtime/vk_object.c | 2 |
4 files changed, 27 insertions, 26 deletions
diff --git a/packaging/mesa.spec b/packaging/mesa.spec index daaf2907e75..7d39fcdc5a6 100644 --- a/packaging/mesa.spec +++ b/packaging/mesa.spec @@ -1,5 +1,5 @@ Name: mesa -Version: 22.3.5 +Version: 23.3.3 Release: 0 License: MIT and Apache-2.0 and SGI Free Software License B v2.0 and BSD-3-Clause Summary: System for rendering interactive 3-D graphics @@ -83,15 +83,15 @@ cp %{SOURCE1002} . %{?asan:/usr/bin/gcc-unforce-options} mkdir build -meson --prefix %{_hal_prefix} build/ \ +meson setup --prefix %{_hal_prefix} build/ \ -Dc_link_args="-lttrace" \ -Dcpp_link_args="-lttrace" \ -Dlibdir=%{_hal_libdir} \ - -Dgallium-va=false \ - -Dgallium-vdpau=false \ - -Dgallium-xa=false \ + -Dgallium-va=disabled \ + -Dgallium-vdpau=disabled \ + -Dgallium-xa=disabled \ -Dglx=disabled \ - -Ddri3=false \ + -Ddri3=disabled \ -Ddraw-use-llvm=false \ -Dllvm=disabled \ -Dgbm=%{?enable_gbm:enabled}%{?!enable_gbm:disabled} \ diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 50809ac0ddc..cad71326248 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -1437,6 +1437,12 @@ dri2_fill_context_attribs(struct dri2_egl_context *dri2_ctx, ctx_attribs[pos++] = dri2_ctx->base.ClientMinorVersion; if (dri2_ctx->base.Flags != 0) { +#ifdef HAVE_TIZEN_PLATFORM/* Fix for dEQP-EGL.functional.create_context_ext.robust_gl_3* cases */ + if ((dri2_ctx->base.Flags & EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR) != 0) { + _eglError(EGL_BAD_MATCH, "eglCreateContext"); + return false; + } +#endif ctx_attribs[pos++] = __DRI_CTX_ATTRIB_FLAGS; ctx_attribs[pos++] = dri2_ctx->base.Flags; } diff --git a/src/egl/drivers/dri2/platform_tizen.c b/src/egl/drivers/dri2/platform_tizen.c index 88d999137a1..86e65a108ab 100755 --- a/src/egl/drivers/dri2/platform_tizen.c +++ b/src/egl/drivers/dri2/platform_tizen.c @@ -1624,8 +1624,7 @@ dri2_initialize_tizen(_EGLDisplay *disp) err = "DRI2: failed to get tbm_bufmgr device name"; goto cleanup_device; } - dri2_dpy->fd = loader_open_device(tbm_bufmgr_device_name); - + dri2_dpy->fd_render_gpu = loader_open_device(tbm_bufmgr_device_name); } else if ((master_fd = tbm_drm_helper_get_master_fd()) >= 0) { close(master_fd); // display server always has master_fd, @@ -1635,21 +1634,21 @@ dri2_initialize_tizen(_EGLDisplay *disp) err = "DRI2: failed to get tbm_bufmgr device name"; goto cleanup_device; } - dri2_dpy->fd = loader_open_device(tbm_bufmgr_device_name); + dri2_dpy->fd_render_gpu = loader_open_device(tbm_bufmgr_device_name); } else { - if (!tbm_drm_helper_get_auth_info(&dri2_dpy->fd, NULL, NULL)) { + if (!tbm_drm_helper_get_auth_info(&dri2_dpy->fd_render_gpu, NULL, NULL)) { err = "DRI2: failed to get fd from tbm_drm_helper_get_auth_info()"; goto cleanup_device; } } - dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd); + dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd_render_gpu); if (dri2_dpy->driver_name == NULL) { err = "DRI2: failed to get driver name"; goto cleanup_device; } - dri2_dpy->is_render_node = drmGetNodeTypeFromFd(dri2_dpy->fd) == DRM_NODE_RENDER; + dri2_dpy->is_render_node = drmGetNodeTypeFromFd(dri2_dpy->fd_render_gpu) == DRM_NODE_RENDER; /* render nodes cannot use Gem names, and thus do not support * the __DRI_DRI2_LOADER extension */ @@ -1667,7 +1666,7 @@ dri2_initialize_tizen(_EGLDisplay *disp) } } } else { - dri2_dpy->fd = tbm_bufmgr_fd; + dri2_dpy->fd_render_gpu = tbm_bufmgr_fd; dri2_dpy->driver_name = strdup("swrast"); if (!dri2_load_driver_swrast(disp)) { err = "DRI2: failed to load swrast driver"; @@ -1681,21 +1680,17 @@ dri2_initialize_tizen(_EGLDisplay *disp) goto cleanup_driver; } - - dev = _eglAddDevice(dri2_dpy->fd, false); - if (!dev) { - err = "DRI2: failed to find EGLDevice"; - goto cleanup_screen;; + if (!dri2_setup_device(disp, false)) { + _eglError(EGL_NOT_INITIALIZED, "DRI2: failed to setup EGLDevice"); + goto cleanup_driver; } - disp->Device = dev; - - if(dri2_dpy->fd != tbm_bufmgr_fd) { - close(dri2_dpy->fd); + if(dri2_dpy->fd_render_gpu != tbm_bufmgr_fd) { + close(dri2_dpy->fd_render_gpu); } close(tbm_bufmgr_fd); tbm_bufmgr_fd = -1; - dri2_dpy->fd = -1; + dri2_dpy->fd_render_gpu = -1; if (!dri2_setup_extensions(disp)) { err = "DRI2: failed to find required DRI extensions"; @@ -1729,7 +1724,7 @@ dri2_initialize_tizen(_EGLDisplay *disp) if (dri2_dpy->fence->base.version >= 2 && dri2_dpy->fence->get_capabilities) { unsigned capabilities = - dri2_dpy->fence->get_capabilities(dri2_dpy->dri_screen); + dri2_dpy->fence->get_capabilities(dri2_dpy->dri_screen_render_gpu); disp->Extensions.TIZEN_native_fence_sync = (capabilities & __DRI_FENCE_CAP_NATIVE_FD) != 0; disp->Extensions.ANDROID_native_fence_sync = disp->Extensions.TIZEN_native_fence_sync; @@ -1738,7 +1733,7 @@ dri2_initialize_tizen(_EGLDisplay *disp) return EGL_TRUE; cleanup_screen: - dri2_dpy->core->destroyScreen(dri2_dpy->dri_screen); + dri2_dpy->core->destroyScreen(dri2_dpy->dri_screen_render_gpu); cleanup_driver: dlclose(dri2_dpy->driver); cleanup_driver_name: diff --git a/src/vulkan/runtime/vk_object.c b/src/vulkan/runtime/vk_object.c index 753640b77b8..4ee4e037947 100644 --- a/src/vulkan/runtime/vk_object.c +++ b/src/vulkan/runtime/vk_object.c @@ -243,7 +243,7 @@ vk_object_base_private_data(struct vk_device *device, * vkGet/SetPrivateDataEXT call on a swapchain because the loader will * handle it. */ -#ifdef ANDROID +#if defined(ANDROID) || defined(HAVE_TIZEN_PLATFORM) if (objectType == VK_OBJECT_TYPE_SWAPCHAIN_KHR || objectType == VK_OBJECT_TYPE_SURFACE_KHR) { #else |