From: Jerome G. <gl...@fr...> - 2010-03-22 14:09:44
|
On Mon, Mar 22, 2010 at 08:29:11PM +0800, LiYe wrote: > Hi devs, > > I have no idea if this is the right place to ask. But I've searched > around and didn't find the answer. So I am sorry if I made a noise. > > I'm interested in openGL implementation and the DRI driver development. > Specifically, I want to learn how an OpenGL command was implemented and > how it was converted into direct rendering context and transferred to > the hardware. I know this is a quite complicated and time-consuming > task, but it would be great if I can start the learning cruve with my > newbie background. So I'm trying to look into the mesa codes. However, > it seems quite large and monolithic and I cannot find a suitable > breaking point. So I wrote this to ask for some experienced advice. For > an overview of how DRI works in codes(not in theory as explained in > documents), where should I start with? > > About my background, as an EE student mainly working in wireless > communication areas, I only have some basic knowledge of C > programming(but no large project experience) and several years of Linux > administration experience. I also have some theoretical knowledge about > Linux kernel and drivers. > > Thanks sincerely for your time and input. > > Best Regards, > Li Ye > I would suggest looking at gallium (src/gallium/include/pipe for API btw gallium & driver). The high level API like OpenGL go through a lot of common code before hitting the driver, classic mesa hw driver are bit harder to understand than gallium hw driver. Gallium offer a "clear" interface btw the higher level API (OpenGL, OpenEGL, OpenVG, ...) and the hw driver (src/gallium/include/pipe) thus i believe they are easier to understand (you can then choose to look into src/gallium/driver). Cheers, Jerome |