Bug 3163

Summary: DRI-aware DDXes need to use XF86DRI_*_VERSION instead of hardcoding
Product: xorg Reporter: Adam Jackson <ajax>
Component: Server/DDX/XorgAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: high CC: mharris
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 3066    
Attachments:
Description Flags
ddx-use-dri-version-defines-1.patch
none
ddx-use-dri-version-defines-2.patch none

Description Adam Jackson 2005-04-29 13:50:41 UTC
The libdri version numbers reflect things like structure sizes and ordering.  The
libdri version that a DDX driver expects is a function of the xf86dristr.h it was
compiled against, so the DRIQueryVersion check should reflect that.
Comment 1 Adam Jackson 2005-05-02 20:00:49 UTC
Created attachment 2611 [details] [review]
ddx-use-dri-version-defines-1.patch

trivial patch.	minor semantic change in that it raises the required minor
version
number from 0 to XF86DRI_MINOR_VERSION; but this is probably a good thing.
Comment 2 Adam Jackson 2005-05-02 23:13:33 UTC
this is inappropriate.  not only doesn't it build but it perpetuates the abuse
of XF86DRI_*_VERSION to mean both the protocol version and the DRIInfoRec
version.  talked this over a bit with kem and i have a better solution in mind.
Comment 3 Adam Jackson 2005-05-12 18:50:16 UTC
Created attachment 2674 [details] [review]
ddx-use-dri-version-defines-2.patch

better fix.  explicitly version the DRIInfoRec, change DRIQueryVersion to
return that number, and tweak the DDX drivers to check against
DRIINFO_*_VERSION instead of magic numbers.  start DRIINFO_*_VERSION at 4.2.0
to indicate the switch.

this decouples the protocol number from the libdri version number, so libdri
fixes (like bug #3066) don't require lockstep upgrades with the client-side
driver.
Comment 4 Adam Jackson 2005-05-18 10:47:56 UTC
applied to head, closing.

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.