compositor: Support output/buffer scaling
authorAlexander Larsson <alexl@redhat.com>
Wed, 22 May 2013 12:41:37 +0000 (14:41 +0200)
committerKristian Høgsberg <krh@bitplanet.net>
Wed, 22 May 2013 20:19:42 +0000 (16:19 -0400)
commit4ea9552d050e8825637d8de18468ebb8a1f9014a
treea31a2e898a1250ba4fd1d80648e10f1670fac6ac
parent1f206b4ce42731677071ca30debf1ebe99a11cde
compositor: Support output/buffer scaling

If you specify e.g. scale=2 in weston.ini an output section for the
X11 backend we automatically upscale all normal surfaces by this
amount. Additionally we respect a buffer_scale set on the buffer to
mean that the buffer is already in a scaled form.

This works with both the gl and the pixman renderer. The non-X
backends compile and work, but don't support changing the output
scale (they do downscale as needed due to buffer_scale though).

This also sends the new "scale" and "done" events on wl_output,
making clients aware of the scale.
src/compositor-drm.c
src/compositor-fbdev.c
src/compositor-headless.c
src/compositor-rpi.c
src/compositor-wayland.c
src/compositor-x11.c
src/compositor.c
src/compositor.h
src/gl-renderer.c
src/pixman-renderer.c