[Xquartz-dev] apple-dri for TOT mesa

Pelle Johansson morth at morth.org
Sat Mar 8 05:46:46 PST 2008


Well, I'm still kind of a newbie wrt how all this works, though I  
guess I did learn quite a bit working with it. But the thought that  
OpenGL.framework should just be another driver did occur to me.

It seems kind of complicated though. I did run into the file src/mesa/ 
main/dd.h recently, I'm guessing that is a key part. But before that I  
guess the XF86Dri protocol has to be working in the server, which  
probably means some sort of fake drm module. So it seems to be a lot  
of work...
-- 
Pelle Johansson

8 mar 2008 kl. 00.51 skrev Jeremy Huddleston:

> Thanks, that's a big help.
>
> I started heading down a similar path as you, but I gave up before  
> getting this far.  I know how much of a headache this must've been,  
> so my utmost gratitude goes out to you.
>
> Additionally, we're considering taking most of this dispatch table  
> out into a separate DRI driver that both libGL and the X server will  
> use (for local DRI, and AIGLX respectively) and migrating over to  
> the same DRI data path that linux, bsd, et al are using... that  
> should keep most of this code out of Mesa proper and allow us to  
> maintain what is essentially a DRI driver using OpenGL.framework  
> instead of hardware (instead of translating OpenGL->kernel module,  
> we'll be doing OpenGL -> OpenGL.framework).
>
> Thanks!
>
> --Jeremy
>
> On Mar 7, 2008, at 10:41, Pelle Johansson wrote:
>
>> Hi,
>>
>> I seem to have lost interest in making Apple-DRI work for the  
>> latest mesa, so I figured I'd share my work so far. It's a single  
>> diff, to avoid showing of my more embarrasing commits. :p
>>
>> It should probably still be considered a work in progress. It's  
>> pretty much bashed into place, without any finesse.
>>
>> What works:
>>
>> Apple-DRI works in direct mode, including window resizing.
>> apple_dispatch.h is generated in a new way, avoiding the manual  
>> apple_disaptch.defs, which seemed like a PITA to maintain.
>>
>> What does not work:
>>
>> Indirect drawing is horribly broken. The indexes I put in  
>> apple_dispatch.h are wrong, and there's other problems too.
>> I managed to crash the X server once by constantly resizing a GLX  
>> window (showing glxgears), but I haven't been able to reproduce it.
>> There are a few #ifdef in autogenerated files, which is bad. To sum  
>> it up, the dispatch_stub functions and the ones using the  
>> GLint64EXT type are commented out, since it seems to be missing in  
>> OpenGL.framework.
>>
>> How to apply:
>>
>> Check out TOT mesa from git://anongit.freedesktop.org/git/mesa/mesa
>> Apply diff.
>> The diff is vs commit 02926a297782579591fc6b2b5f29b9d7709814da
>>
>> I hope someone will find it useful.
>> -- 
>> Pelle Johansson
>>
>> <appledri.diff>
>> _______________________________________________
>> Xquartz-dev mailing list
>> Xquartz-dev at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev
>
> _______________________________________________
> Xquartz-dev mailing list
> Xquartz-dev at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev


More information about the Xquartz-dev mailing list