I'm just cleaning up some of the code in softpipe and draw where there
are lots of nasty #ifdefs trying to select between the various shader
execution mechanisms. Hopefully it should clean things up a bit.
The basic idea is the same as always - put an interface around the
different versions. In softpipe for instance, we'll have three
implementations of this interface for llvm, sse and interpreter
respectively:
struct sp_fragment_shader_state
{
struct pipe_shader_state shader; /* Maybe not needed */
unsigned (*run)( struct sp_fragment_shader_state *,
struct something * );
void (*delete)( struct softpipe_context *,
struct sp_fragment_shader_state * );
};
I'll do something similar in the draw module as preparation for
straightening out the vertex shader paths there.
Keith
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev