summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXuelian Bai <xuelian.bai@samsung.com>2024-01-30 15:30:20 +0800
committerXuelian Bai <xuelian.bai@samsung.com>2024-01-30 15:30:59 +0800
commit17eb388073c0c1cbda534d26941c225e2c7ca9ce (patch)
treea59772249eaff881c61789085053ca6c1cf75ca6
parentf95d5000d4badc46d3bb9bab4209a35b71cdbbdf (diff)
downloadmesa-tizen_23.3.3.tar.gz
mesa-tizen_23.3.3.tar.bz2
mesa-tizen_23.3.3.zip
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.spec12
-rw-r--r--src/egl/drivers/dri2/egl_dri2.c6
-rwxr-xr-xsrc/egl/drivers/dri2/platform_tizen.c33
-rw-r--r--src/vulkan/runtime/vk_object.c2
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