[Mesa-dev] Merging mesa-2d-registers

Zack Rusin zackr at vmware.com
Mon Jul 12 20:23:28 PDT 2010


this is relatively simple: Mesa GPU instructions had no way of representing 2D 
register arrays which was especially painful for things like geometry shaders. 
It's the same thing Gallium supported for a while meaning 
INPUT[index1][index2] syntax. So for example gl_PositionIn[index] becomes 
INPUT[index][gl_PositionIn], so the first index is the index within the array 
and the second identifies the semantic of the array.

This merge finally brings working ARB_geometry_shader4 to Mesa3D! 

For drivers that use Gallium3D the change means absolutely nothing (of course 
besides the fact that if the driver had implemented Gallium's geometry shader 
interface then it gets ARB_geometry_shader4 support for free).

There's a nice example called bezier in demos/src/glsl/bezier.c that uses 
geometry shaders to render a bezier curve. Oh, and also both llvmpipe and 
softpipe drivers support geometry shaders.


More information about the mesa-dev mailing list