Skip to content

renderer: support native plane flipping

Niklas Haas requested to merge plane_flipping into master

This is a much cleaner way of handling flipped rendering on e.g. OpenGL, requiring less intervention from the user side.

In addition, this can also be used to support planes with negative stride. I may even revisit the type of pl_plane_data.row_stride to support ptrdiff_t, but for now, I want to avoid breaking the API more. (And the buffer path requires special handling from the user anyway)

It's worth pointing out that this implementation has a tiny suboptimality: since plane flipping is only done as part of plane scaling, this means it can't be merged with the debanding shader. Fixing that would require a slight rewrite of the code involved, but I don't really care to do it at the moment.

Lastly, also fix the libav/dav1d helpers to respect negative strides.

Closes #183 (closed)

Edited by Niklas Haas

Merge request reports