Mesa (master): mesa: Implement glFramebufferFetchBarrierEXT entry point.

Francisco Jerez currojerez at kemper.freedesktop.org
Sun Feb 25 00:34:15 UTC 2018


Module: Mesa
Branch: master
Commit: 378e918e2891b2712b64c4ad1ef92bfc539a13e7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=378e918e2891b2712b64c4ad1ef92bfc539a13e7

Author: Francisco Jerez <currojerez at riseup.net>
Date:   Mon Feb 12 14:48:20 2018 -0800

mesa: Implement glFramebufferFetchBarrierEXT entry point.

Reviewed-by: Plamena Manolova <plamena.manolova at intel.com>

---

 src/mesa/main/barrier.c                 | 17 +++++++++++++++--
 src/mesa/main/barrier.h                 |  3 +++
 src/mesa/main/tests/dispatch_sanity.cpp |  6 ++++++
 3 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/src/mesa/main/barrier.c b/src/mesa/main/barrier.c
index 0f0b0a210d..2be30220e4 100644
--- a/src/mesa/main/barrier.c
+++ b/src/mesa/main/barrier.c
@@ -127,8 +127,7 @@ _mesa_BlendBarrier(void)
 {
    GET_CURRENT_CONTEXT(ctx);
 
-   if (!ctx->Extensions.EXT_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;
@@ -136,3 +135,17 @@ _mesa_BlendBarrier(void)
 
    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);
+}
diff --git a/src/mesa/main/barrier.h b/src/mesa/main/barrier.h
index 53ecf863f0..acc15c6779 100644
--- a/src/mesa/main/barrier.h
+++ b/src/mesa/main/barrier.h
@@ -53,4 +53,7 @@ _mesa_MemoryBarrierByRegion(GLbitfield barriers);
 void GLAPIENTRY
 _mesa_BlendBarrier(void);
 
+void GLAPIENTRY
+_mesa_FramebufferFetchBarrierEXT(void);
+
 #endif /* BARRIER_H */
diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
index d697343627..83a4b04654 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -1023,6 +1023,9 @@ const struct function common_desktop_functions_possible[] = {
    /* GL_ARB_gl_spirv */
    { "glSpecializeShaderARB", 45, -1 },
 
+   /* GL_EXT_shader_framebuffer_fetch_non_coherent */
+   { "glFramebufferFetchBarrierEXT", 20, -1 },
+
    { NULL, 0, -1 }
 };
 
@@ -2446,6 +2449,9 @@ const struct function gles2_functions_possible[] = {
    { "glGetQueryObjectui64vEXT", 20, -1 },
    { "glQueryCounterEXT", 20, -1 },
 
+   /* GL_EXT_shader_framebuffer_fetch_non_coherent */
+   { "glFramebufferFetchBarrierEXT", 20, -1 },
+
    { NULL, 0, -1 }
 };
 




More information about the mesa-commit mailing list