aboutsummaryrefslogtreecommitdiffstats
path: root/meta-xilinx-bsp/recipes-graphics/weston/files/0001-gl-renderer.c-Use-gr-egl_config-to-create-pbuffer-su.patch
diff options
context:
space:
mode:
Diffstat (limited to '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-bsp/recipes-graphics/weston/files/0001-gl-renderer.c-Use-gr-egl_config-to-create-pbuffer-su.patch84
1 files changed, 0 insertions, 84 deletions
diff --git a/meta-xilinx-bsp/recipes-graphics/weston/files/0001-gl-renderer.c-Use-gr-egl_config-to-create-pbuffer-su.patch b/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 d7d411f6..00000000
--- a/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
-