[Mesa-dev] Using Gallium on an embedded system

Brian Paul brian.e.paul at gmail.com
Tue Jul 19 06:51:38 PDT 2011

On Tue, Jul 19, 2011 at 3:42 AM, Marcus Comstedt <marcus at mc.pp.se> wrote:
> Hi folks.
> I wonder if there is someone here who can help me wrap my brain around
> the code flow for getting Mesa to render with Gallium.
> I have an embedded system with a GPU supported by a gallium driver.
> I'd like to have Mesa running with hardware acceleration (OSMesa with
> software rendering already runs fine).  According to a presentation
> from Tungsten, the architecture for Gallium3D looks like this:
>                                                              _ drm
>                                                              /|
>  App -> Mesa <-> State tracker -> Gallium HW Drv -> OS,Winsys
>                                                              \|
>                                                              - DRI
> Ok, great, so it looks like all I need to do is provide an "OS,Winsys"
> for my system, and everything above it should work without
> modification.
> But what I don't get is how the App creates and binds a context in
> this scenario.

The app would call eglCreateContext() or glXCreateContext() or
similar.  The call chain is a little complicated but eventually you'd
wind up in the gallium driver's pipe_screen::context_create() method.

>  Normally it would call something in mesa/drivers/XXX
> to do that, but there is no mesa/drivers/gallium...

Try src/gallium/drivers/


More information about the mesa-dev mailing list