Mesa (master): mesa: optimize _UsesDualSrc blend flag setting

Brian Paul brianp at kemper.freedesktop.org
Thu Oct 15 13:23:09 UTC 2015


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

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Oct 14 10:08:18 2015 -0600

mesa: optimize _UsesDualSrc blend flag setting

For glBlendFunc and glBlendFuncSeparate(), the _UsesDualSrc flag
will be the same for all buffers, so no need to compute it N times.

Reviewed-by: Eric Anholt <eric at anholt.net>

---

 src/mesa/main/blend.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c
index a7b7c5b..9dec2d4 100644
--- a/src/mesa/main/blend.c
+++ b/src/mesa/main/blend.c
@@ -255,8 +255,13 @@ _mesa_BlendFuncSeparate( GLenum sfactorRGB, GLenum dfactorRGB,
       ctx->Color.Blend[buf].DstRGB = dfactorRGB;
       ctx->Color.Blend[buf].SrcA = sfactorA;
       ctx->Color.Blend[buf].DstA = dfactorA;
-      update_uses_dual_src(ctx, buf);
    }
+
+   update_uses_dual_src(ctx, 0);
+   for (buf = 1; buf < numBuffers; buf++) {
+      ctx->Color.Blend[buf]._UsesDualSrc = ctx->Color.Blend[0]._UsesDualSrc;
+   }
+
    ctx->Color._BlendFuncPerBuffer = GL_FALSE;
 
    if (ctx->Driver.BlendFuncSeparate) {




More information about the mesa-commit mailing list