diff options
Diffstat (limited to 'meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/0001-gl-renderer.c-Use-gr-egl_config-to-create-pbuffer-su.patch')
-rw-r--r-- | meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/0001-gl-renderer.c-Use-gr-egl_config-to-create-pbuffer-su.patch | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/0001-gl-renderer.c-Use-gr-egl_config-to-create-pbuffer-su.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/0001-gl-renderer.c-Use-gr-egl_config-to-create-pbuffer-su.patch deleted file mode 100644 index d7d411f63..000000000 --- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/weston/files/0001-gl-renderer.c-Use-gr-egl_config-to-create-pbuffer-su.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 7cc76d50bddd6ff1eb5fb19712415f385f5d3f49 Mon Sep 17 00:00:00 2001 -From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> -Date: Mon, 3 Feb 2020 14:26:21 -0800 -Subject: [PATCH] gl-renderer.c: Use gr->egl_config to create pbuffer surface - -The original implementation always chose first egl config for pbuffer -surface type, however the returned configs are implementation specific -and egl config may not always match between ctx and surface. Hence, -use gr->egl_config which already has the matching config but ensure that -windows and pbuffer bit are set for the surface type. - -Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> -Upstream-status: Pending ---- - libweston/renderer-gl/gl-renderer.c | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) - -diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c -index 54f8b1c..f50c959 100644 ---- a/libweston/renderer-gl/gl-renderer.c -+++ b/libweston/renderer-gl/gl-renderer.c -@@ -3567,7 +3567,7 @@ gl_renderer_setup_egl_extensions(struct weston_compositor *ec) - } - - static const EGLint gl_renderer_opaque_attribs[] = { -- EGL_SURFACE_TYPE, EGL_WINDOW_BIT, -+ EGL_SURFACE_TYPE, EGL_WINDOW_BIT | EGL_PBUFFER_BIT, - EGL_RED_SIZE, 1, - EGL_GREEN_SIZE, 1, - EGL_BLUE_SIZE, 1, -@@ -3577,7 +3577,7 @@ static const EGLint gl_renderer_opaque_attribs[] = { - }; - - static const EGLint gl_renderer_alpha_attribs[] = { -- EGL_SURFACE_TYPE, EGL_WINDOW_BIT, -+ EGL_SURFACE_TYPE, EGL_WINDOW_BIT | EGL_PBUFFER_BIT, - EGL_RED_SIZE, 1, - EGL_GREEN_SIZE, 1, - EGL_BLUE_SIZE, 1, -@@ -3682,15 +3682,7 @@ static int - gl_renderer_create_pbuffer_surface(struct gl_renderer *gr) { - EGLConfig pbuffer_config; - -- static const EGLint pbuffer_config_attribs[] = { -- EGL_SURFACE_TYPE, EGL_PBUFFER_BIT, -- EGL_RED_SIZE, 1, -- EGL_GREEN_SIZE, 1, -- EGL_BLUE_SIZE, 1, -- EGL_ALPHA_SIZE, 0, -- EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, -- EGL_NONE -- }; -+ EGLint surface_type; - - static const EGLint pbuffer_attribs[] = { - EGL_WIDTH, 10, -@@ -3698,13 +3690,21 @@ gl_renderer_create_pbuffer_surface(struct gl_renderer *gr) { - EGL_NONE - }; - -- if (egl_choose_config(gr, pbuffer_config_attribs, NULL, 0, &pbuffer_config) < 0) { -- weston_log("failed to choose EGL config for PbufferSurface\n"); -+ if(!eglGetConfigAttrib(gr->egl_display, gr->egl_config, EGL_SURFACE_TYPE, &surface_type)) { -+ weston_log("failed to get surface type for PbufferSurface\n"); -+ return -1; -+ } -+ -+ if (!((surface_type & EGL_WINDOW_BIT) && (surface_type & EGL_PBUFFER_BIT)) && -+ !gr->has_configless_context) { -+ weston_log("attempted to use a different EGL config for an " -+ "output but EGL_KHR_no_config_context or " -+ "EGL_MESA_configless_context is not supported\n"); - return -1; - } - - gr->dummy_surface = eglCreatePbufferSurface(gr->egl_display, -- pbuffer_config, -+ gr->egl_config, - pbuffer_attribs); - - if (gr->dummy_surface == EGL_NO_SURFACE) { --- -2.7.4 - |