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>
dev
Pekka Paalanen 4 years ago
parent 768f07cb38
commit 40c26a0b7c
  1. 5
      libweston/renderer-gl/gl-renderer-internal.h
  2. 13
      libweston/renderer-gl/gl-renderer.c
  3. 5
      libweston/renderer-gl/gl-shaders.c

@ -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 */

@ -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;

@ -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,

Loading…
Cancel
Save