GLSL仕様では、「コヒーレント」メモリ修飾子について、「読み取りと書き込みが他のシェーダー呼び出しからの読み取りと書き込みとコヒーレントであるメモリ変数」と規定されています。
実際には、複数のレンダリングパスに関して、これが現代のGPUドライバーによってどのように解釈されるかはわかりません。GLSL仕様に「その他のシェーダー呼び出し」と記載されている場合、それは現在のパスでのみ実行されるシェーダー呼び出し、または過去または将来のパスで実行される可能性のあるシェーダー呼び出しを指しますか?私の目的では、パスを「glBindFramebuffer-glViewPort-glUseProgram-glDrawABC-glDrawXYZ-glDraw123」サイクルとして定義します。ここで、私は現在、「レンダリングループの反復」ごとに2つのそのようなパスを実行していますが、後で反復ごとにさらに多くのパスがある可能性があります。