From: Timothy Arceri Date: Wed, 28 Jun 2017 05:28:13 +0000 (+1000) Subject: mesa: add KHR_no_error support for glBlendFunc*() X-Git-Tag: upstream/18.1.0~8197 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c1b1cad586115ee37bd808b4241ad881c6ade63e;p=platform%2Fupstream%2Fmesa.git mesa: add KHR_no_error support for glBlendFunc*() Reviewed-by: Samuel Pitoiset --- diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index f726fe3..18839ec 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -2545,7 +2545,7 @@ - + @@ -4709,7 +4709,7 @@ - + diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c index b06ec33..3265628 100644 --- a/src/mesa/main/blend.c +++ b/src/mesa/main/blend.c @@ -278,6 +278,18 @@ _mesa_BlendFunc( GLenum sfactor, GLenum dfactor ) } +void GLAPIENTRY +_mesa_BlendFunc_no_error(GLenum sfactor, GLenum dfactor) +{ + GET_CURRENT_CONTEXT(ctx); + + if (skip_blend_state_update(ctx, sfactor, dfactor, sfactor, dfactor)) + return; + + blend_func_separate(ctx, sfactor, dfactor, sfactor, dfactor); +} + + /** * Set the separate blend source/dest factors for all draw buffers. * @@ -315,6 +327,19 @@ _mesa_BlendFuncSeparate( GLenum sfactorRGB, GLenum dfactorRGB, void GLAPIENTRY +_mesa_BlendFuncSeparate_no_error(GLenum sfactorRGB, GLenum dfactorRGB, + GLenum sfactorA, GLenum dfactorA) +{ + GET_CURRENT_CONTEXT(ctx); + + if (skip_blend_state_update(ctx, sfactorRGB, dfactorRGB, sfactorA, dfactorA)) + return; + + blend_func_separate(ctx, sfactorRGB, dfactorRGB, sfactorA, dfactorA); +} + + +void GLAPIENTRY _mesa_BlendFunciARB_no_error(GLuint buf, GLenum sfactor, GLenum dfactor) { _mesa_BlendFuncSeparateiARB_no_error(buf, sfactor, dfactor, sfactor, diff --git a/src/mesa/main/blend.h b/src/mesa/main/blend.h index b0a8cbd..0f0bb62 100644 --- a/src/mesa/main/blend.h +++ b/src/mesa/main/blend.h @@ -45,11 +45,16 @@ struct gl_framebuffer; extern void GLAPIENTRY _mesa_BlendFunc( GLenum sfactor, GLenum dfactor ); +extern void GLAPIENTRY +_mesa_BlendFunc_no_error(GLenum sfactor, GLenum dfactor); extern void GLAPIENTRY _mesa_BlendFuncSeparate( GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorA, GLenum dfactorA ); +extern void GLAPIENTRY +_mesa_BlendFuncSeparate_no_error(GLenum sfactorRGB, GLenum dfactorRGB, + GLenum sfactorA, GLenum dfactorA); extern void GLAPIENTRY _mesa_BlendFunciARB_no_error(GLuint buf, GLenum sfactor, GLenum dfactor);