SiliconMotion Rotation
The siliconmotion driver has its own internal rotation option. It appears that this works by enabling ShadowFB, then using the hardware rotation capabilities to rotate-blt the changed areas. This worked fine with XF 4.2.0. However, with the same hardware, this is broken with XF 4.3.0. I diffed the smi_driver.c code between those versions and nothing seems to have been changed in the driver code that would have affected rotation. One thing that is not clear to me is how the X system in general is notified of the rotated resolution. In the driver, when rotation is enabled, the only apparent swapping of width and height that goes to anything outside of the driver is the initialization of the framebuffer layer's ScreenInit. Is this enough to communicate the rotated resolution? Running XF 4.2, if I start the server, then run xwininfo, click on the desktop, it reports back a window size of 600x800, which is what I would expect. If I then switch to XF 4.3, start the server, run xwininfo, click on the desktop, it reports a window size of 800x600. So, did something change about the higher level stuff that now requires something else to be done to change the desktop size? Thanks, -Chris ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: SiliconMotion Rotation
On Mon, 18 Aug 2003, Chris Edgington wrote: The siliconmotion driver has its own internal rotation option. It appears that this works by enabling ShadowFB, then using the hardware rotation capabilities to rotate-blt the changed areas. This worked fine with XF 4.2.0. However, with the same hardware, this is broken with XF 4.3.0. I diffed the smi_driver.c code between those versions and nothing seems to have been changed in the driver code that would have affected rotation. I have heard that the addition of the RandR (Rotate and Resize) extension into 4.3 broke some drivers which already did rotation. One thing that is not clear to me is how the X system in general is notified of the rotated resolution. In the driver, when rotation is enabled, the only apparent swapping of width and height that goes to anything outside of the driver is the initialization of the framebuffer layer's ScreenInit. Is this enough to communicate the rotated resolution? If I heard correctly, one of the features of RandR is that it allows this sort of notification. Unfortunately this area suffered in the political fight which happened around the time of the 4.3 release. -- Dr. Andrew C. Aitchison Computer Officer, DPMMS, Cambridge [EMAIL PROTECTED] http://www.dpmms.cam.ac.uk/~werdna ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel