diff options
author | Francisco Jerez <[email protected]> | 2016-07-05 23:18:18 -0700 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2016-08-24 13:28:30 -0700 |
commit | 6a976bbf84c9c8790fa61bbeb5eb24a2e646c76c (patch) | |
tree | 5694814433c143737310b7c54f00b046b8580ab0 /src/mesa/main/shaderimage.c | |
parent | 83d2f9db2929781d7d4b182355c872a7cbbcaeec (diff) |
mesa: Move shader memory barrier functions into barrier.c.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/main/shaderimage.c')
-rw-r--r-- | src/mesa/main/shaderimage.c | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/src/mesa/main/shaderimage.c b/src/mesa/main/shaderimage.c index 90643c4ed6d..db36e3bb101 100644 --- a/src/mesa/main/shaderimage.c +++ b/src/mesa/main/shaderimage.c @@ -753,54 +753,3 @@ _mesa_BindImageTextures(GLuint first, GLsizei count, const GLuint *textures) _mesa_end_texture_lookups(ctx); } - -void GLAPIENTRY -_mesa_MemoryBarrier(GLbitfield barriers) -{ - GET_CURRENT_CONTEXT(ctx); - - if (ctx->Driver.MemoryBarrier) - ctx->Driver.MemoryBarrier(ctx, barriers); -} - -void GLAPIENTRY -_mesa_MemoryBarrierByRegion(GLbitfield barriers) -{ - GET_CURRENT_CONTEXT(ctx); - - GLbitfield all_allowed_bits = GL_ATOMIC_COUNTER_BARRIER_BIT | - GL_FRAMEBUFFER_BARRIER_BIT | - GL_SHADER_IMAGE_ACCESS_BARRIER_BIT | - GL_SHADER_STORAGE_BARRIER_BIT | - GL_TEXTURE_FETCH_BARRIER_BIT | - GL_UNIFORM_BARRIER_BIT; - - if (ctx->Driver.MemoryBarrier) { - /* From section 7.11.2 of the OpenGL ES 3.1 specification: - * - * "When barriers is ALL_BARRIER_BITS, shader memory accesses will be - * synchronized relative to all these barrier bits, but not to other - * barrier bits specific to MemoryBarrier." - * - * That is, if barriers is the special value GL_ALL_BARRIER_BITS, then all - * barriers allowed by glMemoryBarrierByRegion should be activated." - */ - if (barriers == GL_ALL_BARRIER_BITS) { - ctx->Driver.MemoryBarrier(ctx, all_allowed_bits); - return; - } - - /* From section 7.11.2 of the OpenGL ES 3.1 specification: - * - * "An INVALID_VALUE error is generated if barriers is not the special - * value ALL_BARRIER_BITS, and has any bits set other than those - * described above." - */ - if ((barriers & ~all_allowed_bits) != 0) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glMemoryBarrierByRegion(unsupported barrier bit"); - } - - ctx->Driver.MemoryBarrier(ctx, barriers); - } -} |