geometry shaders: make gs work with changable primitives and variable number of vertices