Skip to content

Introduce surface-to-buffer and buffer-to-surface matrices

Vlad Zahorodnii requested to merge work/surface-to-buffer-matrix into master

The compositor needs to monitor changes in the mapping between the surface local coordinates and the buffer coordinates because texture coordinates correspond to the latter. One way to do it is to monitor things such as the surface size, the buffer size, the buffer scale, etc. The main problem with doing so is that there are so many factors that contribute to how mapping between the surface local coordinate space and the buffer coordinate space is performed.

In order to provide a generic way for monitoring changes in the mapping between the surface local coordinate space and the buffer coordinate space, this patch introduces two new matrices. The first one specifies how the surface-local coordinates are mapped to buffer coordinates, and the other one specifies how to map the buffer coordinates to surface local coordinates.

With the new two matrices, the compositor has a generic way to get notified when it has to re-compute texture coordinates.

Merge request reports