[PATCH weston v2 00/20] Replace existing transformation code with matrix operations
Derek Foreman
derekf at osg.samsung.com
Thu Oct 16 08:55:18 PDT 2014
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
More information about the wayland-devel
mailing list