## Name

memoryBarrierShared — controls the ordering of operations on shared variables issued by a single shader invocation

## Declaration

`void memoryBarrierShared(` | void`)`;

## Description

`memoryBarrierShared` waits on the completion of all memory accesses resulting from the use of shared variables and then returns with no other effect. When this function returns, the results of any modifications to the content of shared variables will be visible to any access to the same buffer from other shader invocations. In particular, any modifications made in one shader stage are guaranteed to be visible to accesses performed by shader invocations in subsequent stages when those invocations were triggered by the execution of the original shader invocation (e.g., fragment shader invocations for a primitive resulting from a particular geometry shader invocation).

`memoryBarrierShared` is available only in the compute language.

## Version Support

| OpenGL Shading Language Version
--- | ---
Function Name | 1.10 | 1.20 | 1.30 | 1.40 | 1.50 | 3.30 | 4.00 | 4.10 | 4.20 | 4.30 | 4.40 | 4.50
memoryBarrierShared | - | - | - | - | - | - | - | - | - | ✔ | ✔ | ✔

## See Also

memoryBarrier, memoryBarrierImage, memoryBarrierBuffer, groupMemoryBarrier

## Copyright

Copyright © 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.