A quick hack together in https://github.com/raspberrypi/linux/pull/6312.Rotation is a tricky one, largely as it is very expensive in terms of SDRAM bandwidth due to access inefficiencies.
The transposer can write output images from the HVS back to memory with a transpose, but it is a feature that DRM doesn't provide a way to easily expose the capability.
We've just had a quick chat internally as it is a bug-bear that we've wanted to address for a long time. There isn't a totally clean and generic solution that we can think of, but there may be a slightly dirty one that would work. I might see if I can put it together quickly tomorrow.
The width/height of the mode were validated against the width/height of the framebuffer provided, so I've permitted width/height to be swapped between the two, and enable the transpose when that is the case. Really it ought to be a separate property on the connector, but adding that is a fair chunk of work.
https://github.com/jc-kynesim/drmu/pull/3 adds a -t option to the 10bittest app to test that path (use alongside -w to use the writeback connector).
Statistics: Posted by 6by9 — Wed Aug 14, 2024 4:09 pm