[Mesa-dev] Merging mesa-2d-registers
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