Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I cannot say how mesa is structured but graphics drivers are not simple for good reasons.

First you don't want every draw call to cause a system trap. Thus some drivers include a dynamic library which gets loaded into the program’s memory space.

Then after the library comes a daemon. Between the library and the daemon is where the OpenGL implementation lives.

The daemon then hands off to the driver. The driver is meant to be a light interface to the GPU. The thinking being the kernel is not the right place to transform OpenGL to hardware instructions. If one did write an OpenGL implementation in a kernel driver then we could expect some harsh words from Linus.

Now on a pedantic note the GPU already handles pushing the bits to the screen without the driver's help. Which is good because you do not want to introduce yet another timing dependent driver class like the networking stack.

I'm not sure where the shader compilation occurs.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: