<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, May 22, 2013 at 7:57 PM, Kristian Høgsberg <span dir="ltr"><<a href="mailto:hoegsberg@gmail.com" target="_blank">hoegsberg@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Wed, May 22, 2013 at 02:41:24PM +0200, <a href="mailto:alexl@redhat.com">alexl@redhat.com</a> wrote:<br>

> From: Alexander Larsson <<a href="mailto:alexl@redhat.com">alexl@redhat.com</a>><br>
><br>
> This adds support to weston (X11 and DRM backends) for output<br>
> scale and buffer_scale. It also contains some work on the<br>
> example clients to make them support buffer scaling.<br>
><br>
> I think the support is fairly comprehensive, although I'm aware of<br>
> a few outstanding issues:<br>
><br>
> * The drm backend doesn't upscale pointers on the DRM backend<br>
> * There is no support in the desktop shell for setting up a higher resolution<br>
>   cursor image on scaled outputs<br>
> * I did not yet look at the screenshoter/read_pixels APIs<br>
<br>
</div>Two more:<br>
<br>
 * window.c pre-renders decorations at a fixed 1-to-1 pixel size which<br>
   then get scaled up.  The rounded corners look blocky when you use a<br>
   scale > 1.<br>
<br>
 * Don't send out new wl_output events to clients that bind with<br>
   version 1.  For this I think we want to extend wl_resource with an<br>
   int version; field.<br><div class="im"></div></blockquote><div><br></div><div>I hate to rain on the parade, but it's not going to be that simple.  I already tried adding a field to wl_resource and, as it currently stands, it causes major issues.  As a reminder, this is because wl_buffer has a wl_resource field which means that altering wl_resource breaks binary compatibility for EGL implementations.<br>
<br></div><div>I've been trying to figure out how to do this with my java stuff and I really think adding a version flag to wl_resource is the way to do it.  Unfortunately,  but it's not going to be easy.<br></div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
> Overall I think the approach is working out well, but an obvious<br>
> issue is how we handle scaling wrt modes. I'll bring this up in<br>
> another mail.<br>
<br>
</div>I read through the latest wayland protocol patches and the discussion<br>
around them and didn't seen anything I didn't like.  I think the<br>
approach here is good and agree with the consensus.  This patch series<br>
looks great too and I like the improvements to the pixman renderer and<br>
the compositor-x11.c optimization.<br>
<br>
I've applied both wayland and weston patches.  The protocol is not set<br>
in stone, but the 1.2 release is coming up end of June, and which<br>
point we lock it down.  So we can tweak it further, but at least the<br>
bulk of the work is now landed.<br>
<br>
thanks,<br>
Kristian<br>
<div class="HOEnZb"><div class="h5"><br>
> The series is also availible in the scale branch here: (eventually)<br>
>  <a href="http://cgit.freedesktop.org/~alexl/weston/" target="_blank">http://cgit.freedesktop.org/~alexl/weston/</a><br>
><br>
> Alexander Larsson (15):<br>
>   window: Support transform in widget_cairo_create()<br>
>   transformed: Rely on transformation in widget_cairo_create<br>
>   window: Track output scales<br>
>   window: allow setting a buffer scale on a window<br>
>   window: Apply buffer_scale automatically in widget_cairo_create<br>
>   transformed: Use the scale factor from the output<br>
>   window: Store server_allocation in surface size<br>
>   desktop-shell: Respect output scale and translate<br>
>   window: Add window_get_output_scale()<br>
>   terminal: Handle output transform<br>
>   transformed: Add keyboard shortcuts to change transform<br>
>   pixman-renderer: Fix up transform handling<br>
>   compositor: Support output/buffer scaling<br>
>   compositor-x11: Only repaint the damaged region<br>
>   compositor-drm: Support output scaling<br>
><br>
>  clients/desktop-shell.c   |  75 ++++++--<br>
>  clients/terminal.c        |  13 +-<br>
>  clients/transformed.c     | 124 ++++++-------<br>
>  clients/window.c          | 237 ++++++++++++++++++++++---<br>
>  clients/window.h          |  13 ++<br>
>  src/compositor-drm.c      |  88 +++++++---<br>
>  src/compositor-fbdev.c    |   3 +-<br>
>  src/compositor-headless.c |   2 +-<br>
>  src/compositor-rpi.c      |   3 +-<br>
>  src/compositor-wayland.c  |   2 +-<br>
>  src/compositor-x11.c      | 166 ++++++++++++++++--<br>
>  src/compositor.c          | 110 +++++++++---<br>
>  src/compositor.h          |  18 +-<br>
>  src/gl-renderer.c         |  21 +--<br>
>  src/pixman-renderer.c     | 436 ++++++++++++++++++++++++++++++----------------<br>
>  15 files changed, 977 insertions(+), 334 deletions(-)<br>
><br>
> --<br>
> 1.8.1.4<br>
><br>
> _______________________________________________<br>
> wayland-devel mailing list<br>
> <a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
_______________________________________________<br>
wayland-devel mailing list<br>
<a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
</div></div></blockquote></div><br></div></div>