On 03/20/2015 06:33 AM, Daniel Stone wrote:
On Thursday, March 19, 2015, Bill Spitzak <[email protected]
<mailto:[email protected]>> wrote:

    On 03/19/2015 07:07 AM, Jonny Lamb wrote:

        -       if (gl_renderer->output_create(&__output->base,
        output->surface,
        +       if (gl_renderer->output_create(&__output->base,
        +                                      output->surface,
        output->surface,
                                                gl_renderer->opaque_attribs,
                                                &format) < 0) {


    I don't see the need for the duplicate arguments here. Both are
    obviously the same value (the xid), it's just that one of the API's
    declares this as EGLNativeWindowType and the other as void*. I think
    it would be best to hide all this ugliness and make output_create
    take an xid.


Keep reading through the diff until you see compositor-x11.c, which has
a comment explaining why it's necessary. Passing an XID directly doesn't
help at all.

Yes I saw that, that is what I was basing my suggestion on. What I was thinking is that output_create only takes an xid and is implemented something like this:

  static int
  gl_renderer_output_create(struct weston_output *output,
                            Window xid,
                            const EGLint *attribs,
                            const EGLint *visual_id)
  {
    ...
    if (gr->create_platform_window) {
      go->egl_surface =
        gr->create_platform_window(gr->egl_display,
                                   egl_config,
                                   (void*)&xid,
                                   NULL);
    } else
      go->egl_surface =
        eglCreateWindowSurface(gr->egl_display,
                               egl_config,
                               (EGLNativeWindowType)xid,
                               NULL);
  }
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to