10. A computer readable non-transitory storage medium storing instructions for causing a processor to process vertex attributes according to a primitive program by performing the steps of: defining an input primitive type that specifies a primitive type defined by a stream of input vertices; and determining a size of an attribute array specified by the primitive program as equal to a number of input vertices in the stream of input vertices corresponding to the input primitive type.
10. A computer readable non-transitory storage medium storing instructions for causing a processor to process vertex attributes according to a primitive program by performing the steps of: defining an input primitive type that specifies a primitive type defined by a stream of input vertices; and determining a size of an attribute array specified by the primitive program as equal to a number of input vertices in the stream of input vertices corresponding to the input primitive type. 11. The computer readable non-transitory storage medium of claim 10 , wherein the input primitive type is a triangle and the size of the attribute array is determined to be three.