Light | Dark



barrier — synchronize execution of multiple shader invocations


void barrier( void);


Available only in the Compute Shader, barrier provides a partially defined order of execution between shader invocations. For any given static instance of barrier in a compute shader, all invocations within a single work group must enter it before any are allowed to continue beyond it. This ensures that values written by one invocation prior to a given static instance of barrier can be safely read by other invocations after their call to the same static instance of barrier. Because invocations may execute in undefined order between these barrier calls, the values of any shared variable will be undefined in a number of cases.

barrier may be placed anywhere in a compute shader, except within any control flow or after a return statement in the function main().

Version Support

OpenGL ES Shading Language Version
Function Name 1.00 3.00 3.10
barrier - -
Think you can improve this page? Edit this page on GitHub.