Bug 22070

Summary: When using set_mode_major( ), transform is ignored and xserver driver has no access to it, thus scaling breaks.
Product: xorg Reporter: Benjamin Defnet <benjamin.r.defnet>
Component: Server/DDX/XorgAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium Keywords: patch
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
[PATCH] - This fixes the issue none

Description Benjamin Defnet 2009-06-03 11:34:31 UTC
Created attachment 26401 [details] [review]
[PATCH] - This fixes the issue

When using set_mode_major, xf86CrtcSetModeTransform()returns prior to copying any of the rotation or transform data to the crtc object.  This prevents the xserver driver from having any knowledge of the user specified transform.  I discovered this while implementing Kernel Mode Setting for my driver and upon doing so, the xrandr --scale functionality stopped working.

I've attached a patch that should fix this issue.  It essentially pushes the call to set_mode_major until after the rotation and transform data are copied to the crtc.
Comment 1 Keith Packard 2009-08-25 13:46:22 UTC
Fixed in master and 1.6.3

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.