[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