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