From 7ab8dd13b9eaa1d5620cc8432bd0efc70862f88f Mon Sep 17 00:00:00 2001 From: Emma Anholt Date: Tue, 29 Nov 2022 12:15:12 -0800 Subject: [PATCH] egl: Pull the API mask directly out of the dri_screen. Now that we know the driver on the other side is the same version of Mesa as our build, we can just access the screen instead of having accessor functions. Reviewed-by: Adam Jackson Acked-by: Eric Engestrom Part-of: --- src/egl/drivers/dri2/egl_dri2.c | 16 +++------------- src/egl/meson.build | 4 ++++ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index fd7799a..fb1aa96 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -46,6 +46,7 @@ #include #include #include +#include "dri_screen.h" #ifdef HAVE_WAYLAND_PLATFORM #include @@ -839,7 +840,8 @@ void dri2_setup_screen(_EGLDisplay *disp) { struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); - unsigned int api_mask; + struct dri_screen *screen = dri_screen(dri2_dpy->dri_screen); + unsigned int api_mask = screen->api_mask; /* * EGL 1.5 specification defines the default value to 1. Moreover, @@ -853,18 +855,6 @@ dri2_setup_screen(_EGLDisplay *disp) dri2_dpy->max_swap_interval = 1; dri2_dpy->default_swap_interval = 1; - if (dri2_dpy->image_driver) { - api_mask = dri2_dpy->image_driver->getAPIMask(dri2_dpy->dri_screen); - } else if (dri2_dpy->dri2) { - api_mask = dri2_dpy->dri2->getAPIMask(dri2_dpy->dri_screen); - } else { - assert(dri2_dpy->swrast); - api_mask = 1 << __DRI_API_OPENGL | - 1 << __DRI_API_GLES | - 1 << __DRI_API_GLES2 | - 1 << __DRI_API_GLES3; - } - disp->ClientAPIs = 0; if ((api_mask & (1 <<__DRI_API_OPENGL)) && _eglIsApiValid(EGL_OPENGL_API)) disp->ClientAPIs |= EGL_OPENGL_BIT; diff --git a/src/egl/meson.build b/src/egl/meson.build index a90f3ba..5b46449 100644 --- a/src/egl/meson.build +++ b/src/egl/meson.build @@ -97,6 +97,10 @@ if with_dri2 deps_for_egl += idep_xmlconfig link_for_egl += libloader incs_for_egl += inc_loader + incs_for_egl += inc_gallium + incs_for_egl += inc_gallium_aux + incs_for_egl += inc_mesa + incs_for_egl += inc_st_dri files_egl += files( 'drivers/dri2/platform_device.c', -- 2.7.4