名称
glMemoryBarrier —定义对内存事务进行排序的屏障
C 规范
void glMemoryBarrier( GLbitfield barriers);
void glMemoryBarrierByRegion( GLbitfield barriers);
参数
barriers
指定要插入的障碍。必须为 GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT, GL_ELEMENT_ARRAY_BARRIER_BIT, GL_UNIFORM_BARRIER_BIT, GL_TEXTURE_FETCH_BARRIER_BIT, GL_SHADER_IMAGE_ACCESS_BARRIER_BIT, GL_COMMAND_BARRIER_BIT, GL_PIXEL_BUFFER_BARRIER_BIT, GL_TEXTURE_UPDATE_BARRIER_BIT, GL_BUFFER_UPDATE_BARRIER_BIT, GL_FRAMEBUFFER_BARRIER_BIT, GL_TRANSFORM_FEEDBACK_BARRIER_BIT, GL_ATOMIC_COUNTER_BARRIER_BIT, 或 GL_SHADER_STORAGE_BARRIER_BIT的按位组合. 如果指定了特殊值GL_ALL_BARRIER_BITS,将插入所有受支持的障碍。
描述
glMemoryBarrier定义一个屏障,相对于在屏障之后发出的事务,该屏障对在命令之前发出的内存事务进行排序。出于此排序的目的,由着色器执行的内存事务被视为由触发着色器执行的渲染命令发出。 barriers是一个位域,指示与着色器存储同步的一组操作;屏障中使用的位如下:
GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT
如果设置,