[PATCH xserver 1/2] xfree86/modes: Fix HW cursor clipping for crtc->driverIsPerformingTransform

Aaron Plattner aplattner at nvidia.com
Fri Jan 29 08:18:11 PST 2016

On 01/29/2016 07:23 AM, Keith Packard wrote:
> Michel Dänzer <michel at daenzer.net> writes:
>> I'm not sure that makes sense; e.g. it seems inconsistent with leaving
>> the cursor image untransformed in the driverIsPerformingTransform case.
>> It seems to me like the idea behind driverIsPerformingTransform was to
>> leave all transformations to the driver/hardware.
> I was just thinking that we've already done the transform to perform the
> clip, so forcing the driver to *also* transform seems weird to me.

The idea was that for GPUs that can do scaling after compositing the
cursor, you want to program the untransformed cursor position and then
let the hardware transform happen, while on the Tegra hardware I wrote
this for, it couldn't do that and the transform had to be applied to the
cursor separately.  I left it up to the driver to decide so that we
could use this path in the desktop GPU X driver.  That was the idea
behind http://marc.info/?l=freedesktop-xorg-devel&m=131431532812271&w=2

The question of whether to transform the cursor image was a bit tricky
because Tegra did scaling before compositing the cursor, but rotation
after.  So it wasn't just a yes or no question about whether the image
needed to be transformed.

For other reasons, we ended up not using the xfree86 RandR layer, so we
aren't using this code in our now-unified X driver.  Are there other
drivers that use it?  If not, I'd be fine with just ripping it out since
the old Tegra X driver is defunct.

-- Aaron

More information about the xorg-devel mailing list