On Fri, Jun 29, 2012 at 5:46 AM, Tomi Valkeinen tomi.valkeinen@ti.com wrote:
On Wed, 2012-06-27 at 09:06 -0500, Rob Clark wrote:
From: Rob Clark rob@ti.com
Use tiled buffers for rotated/reflected scanout, with CRTC and plane properties as the interface for userspace to configure rotation.
Signed-off-by: Rob Clark rob@ti.com
+/* this should probably be in drm-core to standardize amongst drivers */ +#define DRM_ROTATE_0 0 +#define DRM_ROTATE_90 1 +#define DRM_ROTATE_180 2 +#define DRM_ROTATE_270 3 +#define DRM_REFLECT_X 4 +#define DRM_REFLECT_Y 5
Are both reflect X and Y needed? You can get all the possible orientations with just one of the reflects.
And I think the word "mirror" represents nicely what the reflect does, i.e. if you look at the mirror, the image you see is flipped horizontally.
fwiw these values are aligned with what is used in userspace xrandr.. an earlier version of this patch used just 3 bits, which where aligned with what the omap hw uses and can describe all possible combinations of mirroring and isomorphic rotation (x-invert, y-invert, and xy-flip). But the advantage of the xrandr approach is you can more easily leave out bits for rotation/mirroring modes that your hw does not support.. for example if some hw supports only certain rotations or does not support mirror/reflect.
BR, -R
Tomi