mesa: Implement glFramebufferFetchBarrierEXT entry point.

Reviewed-by: Plamena Manolova <plamena.manolova@intel.com>
This commit is contained in:
Francisco Jerez
2018-02-12 14:48:20 -08:00
parent e4124f9bc1
commit 378e918e28
3 changed files with 24 additions and 2 deletions

View File

@@ -127,8 +127,7 @@ _mesa_BlendBarrier(void)
{ {
GET_CURRENT_CONTEXT(ctx); GET_CURRENT_CONTEXT(ctx);
if (!ctx->Extensions.EXT_shader_framebuffer_fetch_non_coherent && if (!ctx->Extensions.KHR_blend_equation_advanced) {
!ctx->Extensions.KHR_blend_equation_advanced) {
_mesa_error(ctx, GL_INVALID_OPERATION, _mesa_error(ctx, GL_INVALID_OPERATION,
"glBlendBarrier(not supported)"); "glBlendBarrier(not supported)");
return; return;
@@ -136,3 +135,17 @@ _mesa_BlendBarrier(void)
ctx->Driver.FramebufferFetchBarrier(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);
}

View File

@@ -53,4 +53,7 @@ _mesa_MemoryBarrierByRegion(GLbitfield barriers);
void GLAPIENTRY void GLAPIENTRY
_mesa_BlendBarrier(void); _mesa_BlendBarrier(void);
void GLAPIENTRY
_mesa_FramebufferFetchBarrierEXT(void);
#endif /* BARRIER_H */ #endif /* BARRIER_H */

View File

@@ -1023,6 +1023,9 @@ const struct function common_desktop_functions_possible[] = {
/* GL_ARB_gl_spirv */ /* GL_ARB_gl_spirv */
{ "glSpecializeShaderARB", 45, -1 }, { "glSpecializeShaderARB", 45, -1 },
/* GL_EXT_shader_framebuffer_fetch_non_coherent */
{ "glFramebufferFetchBarrierEXT", 20, -1 },
{ NULL, 0, -1 } { NULL, 0, -1 }
}; };
@@ -2446,6 +2449,9 @@ const struct function gles2_functions_possible[] = {
{ "glGetQueryObjectui64vEXT", 20, -1 }, { "glGetQueryObjectui64vEXT", 20, -1 },
{ "glQueryCounterEXT", 20, -1 }, { "glQueryCounterEXT", 20, -1 },
/* GL_EXT_shader_framebuffer_fetch_non_coherent */
{ "glFramebufferFetchBarrierEXT", 20, -1 },
{ NULL, 0, -1 } { NULL, 0, -1 }
}; };