diff options
author | Francisco Jerez <[email protected]> | 2016-07-05 23:21:21 -0700 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2016-08-24 13:28:30 -0700 |
commit | 303fb5881c36b8c1270f3c8071705eea336c341b (patch) | |
tree | 92bf4b1472f95718ffb40b600b483a788484febb /src/mesa/main/barrier.c | |
parent | 6a976bbf84c9c8790fa61bbeb5eb24a2e646c76c (diff) |
mesa: Add blend barrier entry point and driver hook.
Both MESA_shader_framebuffer_fetch_non_coherent and the non-coherent
variant of KHR_blend_equation_advanced will use this driver hook to
request coherency between framebuffer reads and writes. This
intentionally doesn't hook up glBlendBarrierMESA to the dispatch layer
since the extension isn't exposed to applications yet, see [1]
for more details.
[1] https://lists.freedesktop.org/archives/mesa-dev/2016-July/124028.html
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/main/barrier.c')
-rw-r--r-- | src/mesa/main/barrier.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mesa/main/barrier.c b/src/mesa/main/barrier.c index 7ae8fc6b0aa..42a5e0f9203 100644 --- a/src/mesa/main/barrier.c +++ b/src/mesa/main/barrier.c @@ -108,3 +108,17 @@ _mesa_MemoryBarrierByRegion(GLbitfield barriers) ctx->Driver.MemoryBarrier(ctx, barriers); } } + +void GLAPIENTRY +_mesa_BlendBarrierMESA(void) +{ + GET_CURRENT_CONTEXT(ctx); + + if (!ctx->Extensions.MESA_shader_framebuffer_fetch_non_coherent) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glBlendBarrier(not supported)"); + return; + } + + ctx->Driver.BlendBarrier(ctx); +} |