OK,

I've pushed the beginnnings of the driver model / software rasterizer / 
shader infrastructure rework.

The code is split into:

        softpipe/state_tracker:
                - device independent mesa state sanitizer.
                - intended to maintain a set of constant state objects, but 
currently 
just formulates state objects and throws them over the fence at a driver.
                
        softpipe/generic
                - software implementation of new driver model.  the trouble is 
that 
the driver model hasn't fully solidified, and there isn't much 
implemented either.  But it will draw a triangle.

        softpipe/*.h
                - interface between the state tracker and the driver.

It's all hooked up to the Xlib driver.  The slight catch (you should 
expect a few of these) is that it requires a mapped framebuffer, and you 
don't always get one of those with the Xlib driver.  So it only works 
with double buffered apps at the moment.

It has been tested with only one app:
        trivial/tri.c

There is no shader code, I only implement the pipeline from just past 
the end of the vertex shader, so I am currently relying on the tnl/ code 
to transform vertices.

Michal has some shader code which we'll plug in at some point.

One interesting thing is that there should be no dependencies on the 
Mesa context or state from within the driver (softpipe/generic in this 
case).  This means that things like state-parameter references in the 
shaders will have to be resolved externally, and that shaders executed 
by the driver will reference constants in a buffer but never reach out 
into Mesa to try and extract state, etc.

Isolating the driver from Mesa state will make things like the "metaops" 
where we use the 3d engine to implement drawpixels, etc, should be a lot 
cleaner and easier, as the driver state interface is well defined and 
self contained.

Anyway, there's a lot of work to do before that stage is reached.  For 
now, we have a triangle.

Keith

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to