[PATCH weston 4/5] gl-renderer: Add <platform_attribs> param to gl_renderer_display_create

Miguel A. Vico mvicomoya at nvidia.com
Wed May 11 12:48:17 UTC 2016


In preparation for follow-on changes to support frame presentation
through EGLDevice+EGLOutput, this change adds <platform_attribs>
parameter to gl_renderer_display_create().

Signed-off-by: Miguel A Vico Moya <mvicomoya at nvidia.com>
Reviewed-by: Andy Ritger <aritger at nvidia.com>
Reviewed-by: James Jones <jajones at nvidia.com>
---
 src/compositor-drm.c     | 1 +
 src/compositor-fbdev.c   | 1 +
 src/compositor-wayland.c | 1 +
 src/compositor-x11.c     | 2 +-
 src/gl-renderer.c        | 6 +++---
 src/gl-renderer.h        | 1 +
 6 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 4b4a3e7..a81d29f 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -1588,6 +1588,7 @@ drm_backend_create_gl_renderer(struct drm_backend *b)
 	if (gl_renderer->display_create(b->compositor,
 				EGL_PLATFORM_GBM_KHR,
 				(void *)b->gbm,
+				NULL,
 				gl_renderer->opaque_attribs,
 				format,
 				n_formats) < 0) {
diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c
index 21a24fd..7a7c329 100644
--- a/src/compositor-fbdev.c
+++ b/src/compositor-fbdev.c
@@ -787,6 +787,7 @@ fbdev_backend_create(struct weston_compositor *compositor, int *argc, char *argv
 
 		if (gl_renderer->display_create(compositor, NO_EGL_PLATFORM,
 					EGL_DEFAULT_DISPLAY,
+					NULL,
 					gl_renderer->opaque_attribs,
 					NULL, 0) < 0) {
 			weston_log("gl_renderer_create failed.\n");
diff --git a/src/compositor-wayland.c b/src/compositor-wayland.c
index 58d9ae7..1317aa5 100644
--- a/src/compositor-wayland.c
+++ b/src/compositor-wayland.c
@@ -2264,6 +2264,7 @@ wayland_backend_create(struct weston_compositor *compositor,
 		if (gl_renderer->display_create(compositor,
 					EGL_PLATFORM_WAYLAND_KHR,
 					b->parent.wl_display,
+					NULL,
 					gl_renderer->alpha_attribs,
 					NULL,
 					0) < 0) {
diff --git a/src/compositor-x11.c b/src/compositor-x11.c
index 6b61cee..52b7a7e 100644
--- a/src/compositor-x11.c
+++ b/src/compositor-x11.c
@@ -1558,7 +1558,7 @@ init_gl_renderer(struct x11_backend *b)
 		return -1;
 
 	ret = gl_renderer->display_create(b->compositor, EGL_PLATFORM_X11_KHR,
-	                                  (void *) b->dpy,
+	                                  (void *) b->dpy, NULL,
 	                                  gl_renderer->opaque_attribs, NULL, 0);
 
 	return ret;
diff --git a/src/gl-renderer.c b/src/gl-renderer.c
index b0bee7f..7f52205 100644
--- a/src/gl-renderer.c
+++ b/src/gl-renderer.c
@@ -2874,8 +2874,8 @@ platform_to_extension(EGLenum platform)
 
 static int
 gl_renderer_display_create(struct weston_compositor *ec, EGLenum platform,
-	void *native_window, const EGLint *config_attribs,
-	const EGLint *visual_id, int n_ids)
+	void *native_window, const EGLint *platform_attribs,
+	const EGLint *config_attribs, const EGLint *visual_id, int n_ids)
 {
 	struct gl_renderer *gr;
 	EGLint major, minor;
@@ -2917,7 +2917,7 @@ gl_renderer_display_create(struct weston_compositor *ec, EGLenum platform,
 		if (get_platform_display && platform) {
 			gr->egl_display = get_platform_display(platform,
 							       native_window,
-							       NULL);
+							       platform_attribs);
 		}
 	}
 
diff --git a/src/gl-renderer.h b/src/gl-renderer.h
index d431319..f778cd9 100644
--- a/src/gl-renderer.h
+++ b/src/gl-renderer.h
@@ -78,6 +78,7 @@ struct gl_renderer_interface {
 	int (*display_create)(struct weston_compositor *ec,
 		      EGLenum platform,
 		      void *native_window,
+		      const EGLint *platform_attribs,
 		      const EGLint *config_attribs,
 		      const EGLint *visual_id,
 		      const int n_ids);
-- 
2.8.0



More information about the wayland-devel mailing list