Summary: | via_dri.h out of sync with DDX driver. | ||
---|---|---|---|
Product: | Mesa | Reporter: | Luc Verhaegen <libv> |
Component: | Drivers/DRI/Unichrome | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | high | CC: | libv |
Version: | git | ||
Hardware: | x86 (IA32) | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
DRI: Sync via_dri.h
DDX: make via_dri.h more acceptable for DRI inclusion. DRI: fix 2 issue with the unichrome DRI driver. Resync with DDX and fix DDX versioning. |
Description
Luc Verhaegen
2005-08-28 07:07:38 UTC
Created attachment 3075 [details] [review] DRI: Sync via_dri.h Was diffed against X.org HEAD. Apply to Mesa/src/mesa/drivers/dri/unichrome/ directly. Created attachment 3076 [details] [review] DDX: make via_dri.h more acceptable for DRI inclusion. diffed against current Xorg HEAD. Apply locally. Created attachment 3077 [details] [review] DRI: fix 2 issue with the unichrome DRI driver. - via_screen.c: attempts to use a variable after it getting freed. - via_screen.c: passed wrong size to drmUnMap. - via_texcombine.c: fix dual const warning. Thanks Luc. Committed. I've changed a few other things to ease building in solo and X builds too. Let me know if something doesn't work correctly. Fallout from previous commits: grep -n "viaScreen->reg" via_context.c:564: vmesa->regMMIOBase = (GLuint *)((GLuint)viaScreen->reg); via_context.c:565: vmesa->pnGEMode = (GLuint *)((GLuint)viaScreen->reg + 0x4); via_context.c:566: vmesa->regEngineStatus = (GLuint *)((GLuint)viaScreen->reg + 0x400); via_context.c:567: vmesa->regTranSet = (GLuint *)((GLuint)viaScreen->reg + 0x43C); via_context.c:568: vmesa->regTranSpace = (GLuint *)((GLuint)viaScreen->reg + 0x440); via_screen.c:166: drmUnmap(viaScreen->reg, gDRIPriv->regs.size); via_screen.c:197: drmUnmap(viaScreen->reg, gDRIPriv->regs.size); viaScreen->reg is never assigned anymore. I'm not certain why the drmAddress map change was necessary, but it will have broken something, even though i'm seeing no adverse effects in running glxgears. But then, i didn't see anything with Bool as char either, amazingly. Sorry, that was an change in my local tree that made it into the Mesa 6.4 branch, but it never got to the Mesa trunk code. I've backed that out. Resync with DDX via_dri.h, and properly updating DDX version. Created attachment 3604 [details] [review] Resync with DDX and fix DDX versioning. The via Xorg DDX version is still 4.1.31, and given the proximity of the Xorg 6.9/7.0 release, I dont't expect that to change? Your proposed minor version bump is incompatible with that, and Mesa will return an error when started with the Xorg DDX. I suggest we keep the Mesa versions in sync with whatever is currently in Xorg CVS, which means that as soon as the 4.2 bump is commited to Xorg, The Mesa trunk can be updated. Wake up and smell the coffee. http://cvs.freedesktop.org/xorg/xc/lib/GL/mesa/drivers/dri/unichrome/Imakefile.inc?rev=1.5&view=log http://cvs.freedesktop.org/xorg/xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c?rev=1.20&view=log http://cvs.freedesktop.org/xorg/xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.h?rev=1.11&view=log The version bump should've happened when the first commits from this bug were made. It should've happened when Egbert strayed over via_dri.h and fixed it. But there was nothing there to warn him. The mesa side and the DDX side were grossly out of sync then. It just hadn't been turned into a problem yet. And it's not as if this version has anything to do with the actual DDX version. It is only concerned about DRI DDX interaction. If you don't succeed in separating this, you'll end up changing versions across the whole range of drivers all the time. What you're saying is; "Don't update the version as this will break things, which broke because the version wasn't properly updated". If a field was removed from the ddx struct, the major version of that interface will need to be bumped so old released versions of the client-side driver will fail cleanly. This needs to get fixed quickly since Mesa's about to be released and the newly-released Mesa driver needs to be expecting the bumped major version. Then, in server/via_dri.h MAJOR should be set 5, MINOR should be set 0. And via_dri.h in the ddx should be altered to match. Hi. OK, sorry, I missed that. I've updated Mesa-6.4 branch AND Xorg DDX versions to 5.0.0. Mesa trunk will follow later hopefully today. Xorg Mesa is not updated due to Xorg policy, http://xorg.freedesktop.org/wiki/CvsPolicy but I guess mesa 6.4 will soon be imported. I'm closing this. Please reopen if there are remaining problems. /Thomas Mass version move, cvs -> git |
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.