summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPekka Paalanen <pekka.paalanen@collabora.com>2021-02-09 17:31:11 +0200
committerPekka Paalanen <pekka.paalanen@collabora.com>2021-02-25 14:36:46 +0200
commit40c26a0b7c3cb7aaafeafadeba2c50fda162417d (patch)
treea6eb30d4ead617344bf5940a359456e59c5950de
parent768f07cb3803cb07908041a1238c3f7ac768291c (diff)
downloadweston-40c26a0b7c3cb7aaafeafadeba2c50fda162417d.tar.gz
gl-renderer: add compositor shorthand pointer
One more thing is coming to need this, so add the compositor pointer and migrate existing places to use it where it simplifies things. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
-rw-r--r--libweston/renderer-gl/gl-renderer-internal.h5
-rw-r--r--libweston/renderer-gl/gl-renderer.c13
-rw-r--r--libweston/renderer-gl/gl-shaders.c5
3 files changed, 11 insertions, 12 deletions
diff --git a/libweston/renderer-gl/gl-renderer-internal.h b/libweston/renderer-gl/gl-renderer-internal.h
index a03fbe8a..9c309f4e 100644
--- a/libweston/renderer-gl/gl-renderer-internal.h
+++ b/libweston/renderer-gl/gl-renderer-internal.h
@@ -86,6 +86,8 @@ struct gl_shader {
struct gl_renderer {
struct weston_renderer base;
+ struct weston_compositor *compositor;
+
bool fragment_shader_debug;
bool fan_debug;
struct weston_binding *fragment_binding;
@@ -206,7 +208,6 @@ gl_shader_requirements_cmp(const struct gl_shader_requirements *a,
const struct gl_shader_requirements *b);
struct weston_log_scope *
-gl_shader_scope_create(struct weston_compositor *compositor,
- struct gl_renderer *gr);
+gl_shader_scope_create(struct gl_renderer *gr);
#endif /* GL_RENDERER_INTERNAL_H */
diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c
index e633bcbd..e4f9da37 100644
--- a/libweston/renderer-gl/gl-renderer.c
+++ b/libweston/renderer-gl/gl-renderer.c
@@ -320,7 +320,6 @@ create_render_sync(struct gl_renderer *gr)
static void
timeline_submit_render_sync(struct gl_renderer *gr,
- struct weston_compositor *ec,
struct weston_output *output,
EGLSyncKHR sync,
enum timeline_render_point_type type)
@@ -330,13 +329,13 @@ timeline_submit_render_sync(struct gl_renderer *gr,
int fd;
struct timeline_render_point *trp;
- if (!weston_log_scope_is_enabled(ec->timeline) ||
+ if (!weston_log_scope_is_enabled(gr->compositor->timeline) ||
!gr->has_native_fence_sync ||
sync == EGL_NO_SYNC_KHR)
return;
go = get_output_state(output);
- loop = wl_display_get_event_loop(ec->wl_display);
+ loop = wl_display_get_event_loop(gr->compositor->wl_display);
fd = gr->dup_native_fence_fd(gr->egl_display, sync);
if (fd == EGL_NO_NATIVE_FENCE_FD_ANDROID)
@@ -1802,10 +1801,9 @@ gl_renderer_repaint_output(struct weston_output *output,
/* We have to submit the render sync objects after swap buffers, since
* the objects get assigned a valid sync file fd only after a gl flush.
*/
- timeline_submit_render_sync(gr, compositor, output,
- go->begin_render_sync,
+ timeline_submit_render_sync(gr, output, go->begin_render_sync,
TIMELINE_RENDER_POINT_TYPE_BEGIN);
- timeline_submit_render_sync(gr, compositor, output, go->end_render_sync,
+ timeline_submit_render_sync(gr, output, go->end_render_sync,
TIMELINE_RENDER_POINT_TYPE_END);
update_buffer_release_fences(compositor, output);
@@ -3608,10 +3606,11 @@ gl_renderer_display_create(struct weston_compositor *ec,
if (gr == NULL)
return -1;
+ gr->compositor = ec;
wl_list_init(&gr->shader_list);
gr->platform = options->egl_platform;
- gr->shader_scope = gl_shader_scope_create(ec, gr);
+ gr->shader_scope = gl_shader_scope_create(gr);
if (!gr->shader_scope)
goto fail;
diff --git a/libweston/renderer-gl/gl-shaders.c b/libweston/renderer-gl/gl-shaders.c
index d5a7fe36..079cded5 100644
--- a/libweston/renderer-gl/gl-shaders.c
+++ b/libweston/renderer-gl/gl-shaders.c
@@ -294,11 +294,10 @@ gl_shader_scope_new_subscription(struct weston_log_subscription *subs,
}
struct weston_log_scope *
-gl_shader_scope_create(struct weston_compositor *compositor,
- struct gl_renderer *gr)
+gl_shader_scope_create(struct gl_renderer *gr)
{
- return weston_compositor_add_log_scope(compositor,
+ return weston_compositor_add_log_scope(gr->compositor,
"gl-shader-generator",
"GL renderer shader compilation and cache.\n",
gl_shader_scope_new_subscription,