kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=8f28d7d7066a7358440553eb30cb5814e9a6c6ef

commit 8f28d7d7066a7358440553eb30cb5814e9a6c6ef
Author: Kim Woelders <k...@woelders.dk>
Date:   Mon Nov 22 20:46:46 2021 +0100

    blend.c: Tweaks, cleanups
---
 src/lib/blend.c | 21 ++++++++++++---------
 src/lib/blend.h |  1 -
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/lib/blend.c b/src/lib/blend.c
index 76b6d04..648caea 100644
--- a/src/lib/blend.c
+++ b/src/lib/blend.c
@@ -20,17 +20,18 @@
                 RESHADE_COLOR(G_VAL(dest), g, G_VAL(dest)); \
                 RESHADE_COLOR(B_VAL(dest), b, B_VAL(dest));
 
-int                 pow_lut_initialized = 0;
 DATA8               pow_lut[256][256];
 
 void
 __imlib_build_pow_lut(void)
 {
+   static char         _pow_lut_initialized = 0;
    int                 i, j;
 
-   if (pow_lut_initialized)
+   if (_pow_lut_initialized)
       return;
-   pow_lut_initialized = 1;
+   _pow_lut_initialized = 1;
+
    for (i = 0; i < 256; i++)
      {
         for (j = 0; j < 256; j++)
@@ -1515,7 +1516,7 @@ __imlib_GetBlendFunction(ImlibOp op, char blend, char 
merge_alpha, char rgb_src,
                          ImlibColorModifier * cm)
 {
    /*\ [ mmx ][ operation ][ cmod ][ merge_alpha ][ rgb_src ][ blend ] \ */
-   static ImlibBlendFunction ibfuncs[][4][2][2][2][2] = {
+   static const ImlibBlendFunction ibfuncs[][4][2][2][2][2] = {
       /*\ OP_COPY \ */
       {{{{{__imlib_CopyRGBAToRGB, __imlib_BlendRGBAToRGB},
           {__imlib_CopyRGBToRGB, __imlib_BlendRGBToRGB}},
@@ -1714,12 +1715,10 @@ __imlib_GetBlendFunction(ImlibOp op, char blend, char 
merge_alpha, char rgb_src,
 #endif
    };
 
-   int                 opi = (op == OP_COPY) ? 0
-      : (op == OP_ADD) ? 1
-      : (op == OP_SUBTRACT) ? 2 : (op == OP_RESHADE) ? 3 : -1;
+   ImlibBlendFunction  bfun;
    int                 do_mmx = 0;
 
-   if (opi == -1)
+   if (op < OP_COPY || op > OP_RESHADE)
       return NULL;
 
 #ifdef DO_MMX_ASM
@@ -1727,11 +1726,15 @@ __imlib_GetBlendFunction(ImlibOp op, char blend, char 
merge_alpha, char rgb_src,
 #elif DO_AMD64_ASM
    do_mmx = 1;                  // instruction set is always present
 #endif
+
    if (cm && rgb_src && (A_CMOD(cm, 0xff) == 0xff))
       blend = 0;
    if (blend && cm && rgb_src && (A_CMOD(cm, 0xff) == 0))
       return NULL;
-   return ibfuncs[!!do_mmx][opi][!!cm][!!merge_alpha][!!rgb_src][!!blend];
+
+   bfun = ibfuncs[!!do_mmx][op][!!cm][!!merge_alpha][!!rgb_src][!!blend];
+
+   return bfun;
 }
 
 void
diff --git a/src/lib/blend.h b/src/lib/blend.h
index d589833..ecc57fa 100644
--- a/src/lib/blend.h
+++ b/src/lib/blend.h
@@ -315,7 +315,6 @@ nc = (tmp | (-(tmp >> 8))) & (~(tmp >> 9));
 tmp = (cc) + (((c) - 127) << 1); \
 nc = (tmp | (-(tmp >> 8))) & (~(tmp >> 9));
 
-extern int          pow_lut_initialized;
 extern DATA8        pow_lut[256][256];
 
 #define BLEND_DST_ALPHA(r1, g1, b1, a1, dest) \

-- 


Reply via email to