Doesn’t crash here on Radeon9600 under 10.3.5, and I’ve used it in my VP experiments OK. What version OS are you on?
I’m still a VP/FP newbie, but I don’t think that is a correct vertex program; the vertex output color is undefined. The default VP is:
!!ARBvp1.0
ATTRIB vertexPosition = vertex.position;
OUTPUT outputPosition = result.position;
Transform the vertex by the modelview/projection matrix
DP4 outputPosition.x, state.matrix.mvp.row[0], vertexPosition;
DP4 outputPosition.y, state.matrix.mvp.row[1], vertexPosition;
DP4 outputPosition.z, state.matrix.mvp.row[2], vertexPosition;
DP4 outputPosition.w, state.matrix.mvp.row[3], vertexPosition;
Pass the color and texture coordinate through
MOV result.color, vertex.color;
MOV result.texcoord, vertex.texcoord;
END
ARB_position_invariant passes the vertex position through to be transformed by the fixedfunc pipeline. And you can get rid of the texture output if you’ve got texturing disabled. So that means the minimum program looks like:
!!ARBvp1.0 OPTION ARB_position_invariant;
MOV result.color, vertex.color;
END
I think the rule is, you are required to output any vertex attribute that is enabled in the pipeline. I.e. color, texture, fog, normal…
(Keith please jump in and correct me if I’m wrong…)
It shouldn’t crash, though… 