A method comprising: executing, with a shader unit of a graphics processor, a merged vertex/geometry shader program that performs vertex shader processing and geometry shader processing, and that generates multiple output vertices for each input vertex that is received by the shader program wherein executing, with the shader unit of the graphics processor, the merged vertex/geometry shader program comprises: executing, with the shader unit, a plurality of instances of the merged vertex/geometry shader program such that each of the instances of the merged vertex/geometry shader program generates M output vertices, where M is an integer greater than or equal to two; each of the instances of the merged vertex/geometry shader program is configurable to perform the geometry shader processing with respect to a primitive that is assigned to the respective instance of the merged vertex/geometry shader program, wherein each of a plurality of primitives is assigned to one merged vertex/geometry shader instance for processing; and each of the instances of the merged vertex/geometry shader program is further configurable to perform the vertex shader processing with respect to a vertex that is assigned to the respective instance of the merged vertex/geometry shader program, and wherein executing, with the shader unit, the plurality of instances of the merged vertex/geometry shader program further comprises: performing, with a first instance of the merged vertex/geometry shader program, the vertex shader processing with respect to one of a plurality of vertices to generate a vertex-shaded vertex; performing, with a second instance of the merged vertex/geometry shader program, the geometry shader processing with respect to a first primitive of the plurality of primitives based on the vertex-shaded vertex generated by the first instance of the merged vertex/geometry shader program to generate one or more geometry-shaded vertices that correspond to the first primitive; and performing, with a third instance of the merged vertex/geometry shader program, the geometry shader processing with respect to a second primitive of the plurality of primitives based on the vertex-shaded vertex generated by the first instance of the merged vertex/geometry shader program to generate one or more geometry-shaded vertices that correspond to the second primitive. executing, with the shader unit, a plurality of instances of the merged vertex/geometry shader program such that each of the instances of the merged vertex/geometry shader program generates M output vertices, where M is an integer greater than or equal to two; each of the instances of the merged vertex/geometry shader program is configurable to perform the geometry shader processing with respect to a primitive that is assigned to the respective instance of the merged vertex/geometry shader program, wherein each of a plurality of primitives is assigned to one merged vertex/geometry shader instance for processing; and each of the instances of the merged vertex/geometry shader program is further configurable to perform the vertex shader processing with respect to a vertex that is assigned to the respective instance of the merged vertex/geometry shader program, and wherein executing, with the shader unit, the plurality of instances of the merged vertex/geometry shader program further comprises: performing, with a first instance of the merged vertex/geometry shader program, the vertex shader processing with respect to one of a plurality of vertices to generate a vertex-shaded vertex; performing, with a second instance of the merged vertex/geometry shader program, the geometry shader processing with respect to a first primitive of the plurality of primitives based on the vertex-shaded vertex generated by the first instance of the merged vertex/geometry shader program to generate one or more geometry-shaded vertices that correspond to the first primitive; and performing, with a third instance of the merged vertex/geometry shader program, the geometry shader processing with respect to a second primitive of the plurality of primitives based on the vertex-shaded vertex generated by the first instance of the merged vertex/geometry shader program to generate one or more geometry-shaded vertices that correspond to the second primitive. performing, with a first instance of the merged vertex/geometry shader program, the vertex shader processing with respect to one of a plurality of vertices to generate a vertex-shaded vertex; performing, with a second instance of the merged vertex/geometry shader program, the geometry shader processing with respect to a first primitive of the plurality of primitives based on the vertex-shaded vertex generated by the first instance of the merged vertex/geometry shader program to generate one or more geometry-shaded vertices that correspond to the first primitive; and performing, with a third instance of the merged vertex/geometry shader program, the geometry shader processing with respect to a second primitive of the plurality of primitives based on the vertex-shaded vertex generated by the first instance of the merged vertex/geometry shader program to generate one or more geometry-shaded vertices that correspond to the second primitive.