I don't think we can get away with breaking older clients, though this does look like it would only break the situation where you have old 3d client with new 2d driver, which is a slightly unusual situation.

The real question is how much does the 3d client actually rely on the radeon memory layout? It gets pointers to most things it cares about in the initialization messages, these could be adjusted to point to the correct places in the new layout.

Further, if a client is known to be old, the kernel can go through its commands & adjust them for the new layout (assuming we can't dupe the client into using the right values for itself).

I'd prefer this approach (in addition to the turn-on ioctl) to anything that involves bumping the major version.

Keith


------- Additional Comments From [EMAIL PROTECTED]  2003-22-07 17:39 -------
This could become a backwards compatibility nightmare, as the framebuffer
aperture is currently hardcoded everywhere to be at 0. :\ At the very least, the
DRM minor version must be bumped, new entries must only be added at the end of
structs used for communication between components, and each component must be
careful only to use them if they are known to contain valid values.

However, as a different memory layout is desirable for other reasons like video
capturing, we should make another attempt at a discussion to get it right once
and for all, probably on dri-devel but at least including people like Ben
Herrenschmidt and Vladimir Dergachev as well.

Here's an idea for a scheme to preserve at least some level of backwards
compatibility: Add a new ioctl for the X server to tell the DRM 'I want to use
the new memory layout'. Unless this is called, everything keeps working as it is
now (i.e. things like DRI on IGP chips or video capturing won't work).
Otherwise, the DRM bumps its major version as well. The 3D driver is adapted to
cope with both major DRM versions. This would provide backwards compatibility
for the new 3D driver with old X servers / DRMs / hardware. Old 3D drivers would
stop working with the combination of new X server and new DRM, but this might be
as good as it gets in terms of backwards compatibility. Or maybe someone else
has a better idea?





-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to