mesa: add ARB_texture_buffer_range glTextureBufferRangeEXT function
[mesa.git] / src / mesa / main / barrier.c
index 0798d6efad2b6cd19ec32cdccb9523033322635c..2be30220e498521116f2f64274617a0e5903e06f 100644 (file)
@@ -108,6 +108,13 @@ memory_barrier_by_region(struct gl_context *ctx, GLbitfield barriers,
    }
 }
 
+void GLAPIENTRY
+_mesa_MemoryBarrierByRegion_no_error(GLbitfield barriers)
+{
+   GET_CURRENT_CONTEXT(ctx);
+   memory_barrier_by_region(ctx, barriers, true);
+}
+
 void GLAPIENTRY
 _mesa_MemoryBarrierByRegion(GLbitfield barriers)
 {
@@ -120,12 +127,25 @@ _mesa_BlendBarrier(void)
 {
    GET_CURRENT_CONTEXT(ctx);
 
-   if (!ctx->Extensions.MESA_shader_framebuffer_fetch_non_coherent &&
-       !ctx->Extensions.KHR_blend_equation_advanced) {
+   if (!ctx->Extensions.KHR_blend_equation_advanced) {
       _mesa_error(ctx, GL_INVALID_OPERATION,
                   "glBlendBarrier(not supported)");
       return;
    }
 
-   ctx->Driver.BlendBarrier(ctx);
+   ctx->Driver.FramebufferFetchBarrier(ctx);
+}
+
+void GLAPIENTRY
+_mesa_FramebufferFetchBarrierEXT(void)
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   if (!ctx->Extensions.EXT_shader_framebuffer_fetch_non_coherent) {
+      _mesa_error(ctx, GL_INVALID_OPERATION,
+                  "glFramebufferFetchBarrierEXT(not supported)");
+      return;
+   }
+
+   ctx->Driver.FramebufferFetchBarrier(ctx);
 }