[Mesa-dev] [PATCH 049/101] mesa: add memory_barrier_by_region() helper
Samuel Pitoiset
samuel.pitoiset at gmail.com
Fri Jul 21 17:39:58 UTC 2017
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
src/mesa/main/barrier.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/mesa/main/barrier.c b/src/mesa/main/barrier.c
index e55d13cb6b..0798d6efad 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");
}
@@ -110,6 +109,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)
{
GET_CURRENT_CONTEXT(ctx);
--
2.13.3
More information about the mesa-dev
mailing list