This is also available at https://github.com/ManMower/weston/commits/transforms
The goal of this patch set is to remove much of the bulky switch statement based transform code and replace it with matrix multiplication. Hopefully this will result in a more maintainable pixman renderer due to the removal of all the special cases for each screen transform. Major changes since the last revision: - remove full matrix transform decomposition routines: replace it with weston_matrix_needs_filtering based on matrix inspection and weston_matrix_to_transform that does a simpler decompose - changes to how compositor-drm checks for plane viability - addition of weston_view_to_output_matrix() to create the "end to end" matrix Derek Foreman (14): compositor: Move weston_matrix_transform_region to compositor.c and export it compositor: add weston_matrix_transform_rect() and use it where appropriate compositor: use matrix transforms for surface_to_buffer functions compositor: use weston_matrix_transform_region for overlay setup compositor: Remove weston_transformed_region compositor: Add a function to test if images transformed by a matrix should be bilinearly filtered renderers: use weston_matrix_needs_filtering to choose filter parameters in gl and pixman renderers compositor-drm: use weston_surface_to_buffer_rect instead of weston_transformed_rect compositor: Remove weston_transformed_rect() and weston_transformed_coord() compositor: use weston_matrix_transform for weston_output_transform_coordinate compositor: Add weston_matrix_to_transform function compositor: add weston_view_to_output_matrix() renderers: use weston_view_to_output_matrix() in renderers compositor-drm: use weston_view_to_output_matrix() to test plane viability Jason Ekstrand (6): weston_surface: Add surface-to-buffer and buffer-to-surface matrices gl-renderer: Call glViewport after the context is made current Use pixel coordinates for weston_output.matrix zoom: Use pixels instead of GL coordinates pixman-renderer: Add a weston_matrix_to_pixman_transform function and simplify the buffer-to-output matrix computation pixman-renderer: Use output->matrix for region transformations and enable output zoom src/compositor-drm.c | 85 +++---- src/compositor-wayland.c | 8 +- src/compositor-x11.c | 8 +- src/compositor.c | 589 ++++++++++++++++++++++------------------------- src/compositor.h | 41 ++-- src/gl-renderer.c | 35 ++- src/pixman-renderer.c | 173 ++------------ src/screen-share.c | 8 +- src/screenshooter.c | 7 +- src/zoom.c | 38 ++- 10 files changed, 402 insertions(+), 590 deletions(-) -- 2.1.1 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel