From: Samuel Pitoiset Date: Wed, 19 Jul 2017 08:34:06 +0000 (+0200) Subject: mesa: add memory_barrier_by_region() helper X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4de0033d73353f186eec8778074674da87090c5f;p=mesa.git mesa: add memory_barrier_by_region() helper Signed-off-by: Samuel Pitoiset Reviewed-by: Timothy Arceri --- diff --git a/src/mesa/main/barrier.c b/src/mesa/main/barrier.c index e55d13cb6b3..0798d6efad2 100644 --- a/src/mesa/main/barrier.c +++ b/src/mesa/main/barrier.c @@ -67,11 +67,10 @@ _mesa_MemoryBarrier(GLbitfield barriers) ctx->Driver.MemoryBarrier(ctx, barriers); } -void GLAPIENTRY -_mesa_MemoryBarrierByRegion(GLbitfield barriers) +static ALWAYS_INLINE void +memory_barrier_by_region(struct gl_context *ctx, GLbitfield barriers, + bool no_error) { - GET_CURRENT_CONTEXT(ctx); - GLbitfield all_allowed_bits = GL_ATOMIC_COUNTER_BARRIER_BIT | GL_FRAMEBUFFER_BARRIER_BIT | GL_SHADER_IMAGE_ACCESS_BARRIER_BIT | @@ -100,7 +99,7 @@ _mesa_MemoryBarrierByRegion(GLbitfield barriers) * value ALL_BARRIER_BITS, and has any bits set other than those * described above." */ - if ((barriers & ~all_allowed_bits) != 0) { + if (!no_error && (barriers & ~all_allowed_bits) != 0) { _mesa_error(ctx, GL_INVALID_VALUE, "glMemoryBarrierByRegion(unsupported barrier bit"); } @@ -109,6 +108,13 @@ _mesa_MemoryBarrierByRegion(GLbitfield barriers) } } +void GLAPIENTRY +_mesa_MemoryBarrierByRegion(GLbitfield barriers) +{ + GET_CURRENT_CONTEXT(ctx); + memory_barrier_by_region(ctx, barriers, false); +} + void GLAPIENTRY _mesa_BlendBarrier(void) {