The glBufferSubData manpage s notes section contains the following paragraph:
考虑使用多个缓冲物体,以避免在数据储存更新过程中铺设管道。 如果管道中的任何投放都提到正在由冰川子公司(特别是正在更新的特定区域)更新的缓冲物体中的数据,那么,在数据储存更新之前,必须从管道中提取数据。
While the glUniform* manpage doesn t mention the pipeline at all.
However, I would have thought that uniforms are just as important as buffers, given that they re supposed to be uniform across all shader invocations.
So, if I perform a draw call, change a uniform value and then perform another draw call on the same shader, will both draw calls run concurrently with different uniform values, or will the second draw call have to wait until every stage (vert/geom/frag) is complete on the first one?