Hi Mark, > > We don't use the chipset rotation features. We keep the chipset believing > > it is working with (say) a 640x480 display, and the application layer > > believes it is working with a 480x640 display. The GDI layer does the > > rotation and translation of coordinates, maintaining use of hardware > > acceleration features where available (including hardware cursor...). > > That's because rotating X-rendering correctly is an ominous task. >X11 is a pixel-perfect specification. Just rotating the coordinates >on lines and polygons won't render them correctly. None of this
Can you explain this further? At the moment I have a system - running X actually - where I am emulating my older proprietary systems inside a frame buffer. Eventually I would have gotten around to looking at X's rotation possibilities anyway; I knew of it theoretically but have never tried to use it. Bear in mind that I know nothing about the internals of how things are represented in X. But the first part I don't understand is why rotating the coordinates of lines and polygons will not yield a correct result. A rectangle 100x25 pixels in size, 100 pixels right of the origin and 50 pixels below it, is described completely regardless of the geometry of the screen (assuming a Windows-convention origin, not an OS/2 PM-convention origin, of course :) My understanding of how it would work is that it would abstract the rotation at the same level I abstract it - i.e. the client app would be unaware of the rotation and would only be aware of the fact that the screen's pixel dimensions are a bit strange. As far as the client is concerned there is no rotation; the dimensions and sign-directions of the display surface exactly match that of the physical display output. The client renders at (say) 480x640; the user sees 480x640. The fact that there is a rotation operation is purely a hardware issue related to the order in which the display controller DMAs pixels out of RAM; it's just an issue of internal frame storage. Where am I going wrong in my understanding? And is this a question of rigorous standards compliance, or one of basic functional failure that will be obvious to the user? (Oh, and in case this is not clear: I'm not at all being argumentative or implying that any XFree code is bad, I'm just trying to see why it is impossible to implement an efficiency improvement). OT-PS: Pity you guys (NVidia) wouldn't sell us LCD controllers when we asked.... ;) but I'm very interested to try your PDA-chip with integral MIPS micro... ;) (or was that Neomagic? Darn N-names :) If there's a Linux port and an X server, I'm a happy monkey. -- Lewin A.R.W. Edwards Embedded Engineer, Digi-Frame Inc. Work: http://www.digi-frame.com/ Tel (914) 937-4090 9am-6:30pm M-F ET Personal: http://www.larwe.com/ http://www.zws.com/ _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert