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
|