src/video/SDL_blit_auto.c
changeset 5184 d976b67150c5
parent 5140 e743b9c3f6d6
child 5426 7a3982c50af8
     1.1 --- a/src/video/SDL_blit_auto.c	Fri Feb 04 19:18:08 2011 -0800
     1.2 +++ b/src/video/SDL_blit_auto.c	Fri Feb 04 19:50:56 2011 -0800
     1.3 @@ -92,7 +92,7 @@
     1.4                      srcB = (srcB * srcA) / 255;
     1.5                  }
     1.6              }
     1.7 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
     1.8 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
     1.9              case SDL_COPY_BLEND:
    1.10                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.11                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.12 @@ -103,6 +103,11 @@
    1.13                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
    1.14                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
    1.15                  break;
    1.16 +            case SDL_COPY_MOD:
    1.17 +                dstR = (srcR * dstR) / 255;
    1.18 +                dstG = (srcG * dstG) / 255;
    1.19 +                dstB = (srcB * dstB) / 255;
    1.20 +                break;
    1.21              }
    1.22              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
    1.23              *dst = dstpixel;
    1.24 @@ -160,7 +165,7 @@
    1.25                      srcB = (srcB * srcA) / 255;
    1.26                  }
    1.27              }
    1.28 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
    1.29 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
    1.30              case SDL_COPY_BLEND:
    1.31                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.32                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.33 @@ -171,6 +176,11 @@
    1.34                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
    1.35                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
    1.36                  break;
    1.37 +            case SDL_COPY_MOD:
    1.38 +                dstR = (srcR * dstR) / 255;
    1.39 +                dstG = (srcG * dstG) / 255;
    1.40 +                dstB = (srcB * dstB) / 255;
    1.41 +                break;
    1.42              }
    1.43              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
    1.44              *dst = dstpixel;
    1.45 @@ -310,7 +320,7 @@
    1.46                      srcB = (srcB * srcA) / 255;
    1.47                  }
    1.48              }
    1.49 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
    1.50 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
    1.51              case SDL_COPY_BLEND:
    1.52                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.53                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.54 @@ -321,6 +331,11 @@
    1.55                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
    1.56                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
    1.57                  break;
    1.58 +            case SDL_COPY_MOD:
    1.59 +                dstR = (srcR * dstR) / 255;
    1.60 +                dstG = (srcG * dstG) / 255;
    1.61 +                dstB = (srcB * dstB) / 255;
    1.62 +                break;
    1.63              }
    1.64              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
    1.65              *dst = dstpixel;
    1.66 @@ -390,7 +405,7 @@
    1.67                      srcB = (srcB * srcA) / 255;
    1.68                  }
    1.69              }
    1.70 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
    1.71 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
    1.72              case SDL_COPY_BLEND:
    1.73                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.74                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.75 @@ -401,6 +416,11 @@
    1.76                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
    1.77                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
    1.78                  break;
    1.79 +            case SDL_COPY_MOD:
    1.80 +                dstR = (srcR * dstR) / 255;
    1.81 +                dstG = (srcG * dstG) / 255;
    1.82 +                dstB = (srcB * dstB) / 255;
    1.83 +                break;
    1.84              }
    1.85              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
    1.86              *dst = dstpixel;
    1.87 @@ -481,7 +501,7 @@
    1.88                      srcB = (srcB * srcA) / 255;
    1.89                  }
    1.90              }
    1.91 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
    1.92 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
    1.93              case SDL_COPY_BLEND:
    1.94                  dstR = srcR + ((255 - srcA) * dstR) / 255;
    1.95                  dstG = srcG + ((255 - srcA) * dstG) / 255;
    1.96 @@ -492,6 +512,11 @@
    1.97                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
    1.98                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
    1.99                  break;
   1.100 +            case SDL_COPY_MOD:
   1.101 +                dstR = (srcR * dstR) / 255;
   1.102 +                dstG = (srcG * dstG) / 255;
   1.103 +                dstB = (srcB * dstB) / 255;
   1.104 +                break;
   1.105              }
   1.106              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.107              *dst = dstpixel;
   1.108 @@ -549,7 +574,7 @@
   1.109                      srcB = (srcB * srcA) / 255;
   1.110                  }
   1.111              }
   1.112 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.113 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.114              case SDL_COPY_BLEND:
   1.115                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.116                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.117 @@ -560,6 +585,11 @@
   1.118                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.119                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.120                  break;
   1.121 +            case SDL_COPY_MOD:
   1.122 +                dstR = (srcR * dstR) / 255;
   1.123 +                dstG = (srcG * dstG) / 255;
   1.124 +                dstB = (srcB * dstB) / 255;
   1.125 +                break;
   1.126              }
   1.127              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.128              *dst = dstpixel;
   1.129 @@ -699,7 +729,7 @@
   1.130                      srcB = (srcB * srcA) / 255;
   1.131                  }
   1.132              }
   1.133 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.134 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.135              case SDL_COPY_BLEND:
   1.136                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.137                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.138 @@ -710,6 +740,11 @@
   1.139                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.140                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.141                  break;
   1.142 +            case SDL_COPY_MOD:
   1.143 +                dstR = (srcR * dstR) / 255;
   1.144 +                dstG = (srcG * dstG) / 255;
   1.145 +                dstB = (srcB * dstB) / 255;
   1.146 +                break;
   1.147              }
   1.148              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.149              *dst = dstpixel;
   1.150 @@ -779,7 +814,7 @@
   1.151                      srcB = (srcB * srcA) / 255;
   1.152                  }
   1.153              }
   1.154 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.155 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.156              case SDL_COPY_BLEND:
   1.157                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.158                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.159 @@ -790,6 +825,11 @@
   1.160                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.161                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.162                  break;
   1.163 +            case SDL_COPY_MOD:
   1.164 +                dstR = (srcR * dstR) / 255;
   1.165 +                dstG = (srcG * dstG) / 255;
   1.166 +                dstB = (srcB * dstB) / 255;
   1.167 +                break;
   1.168              }
   1.169              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.170              *dst = dstpixel;
   1.171 @@ -870,7 +910,7 @@
   1.172                      srcB = (srcB * srcA) / 255;
   1.173                  }
   1.174              }
   1.175 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.176 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.177              case SDL_COPY_BLEND:
   1.178                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.179                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.180 @@ -881,6 +921,11 @@
   1.181                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.182                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.183                  break;
   1.184 +            case SDL_COPY_MOD:
   1.185 +                dstR = (srcR * dstR) / 255;
   1.186 +                dstG = (srcG * dstG) / 255;
   1.187 +                dstB = (srcB * dstB) / 255;
   1.188 +                break;
   1.189              }
   1.190              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.191              *dst = dstpixel;
   1.192 @@ -938,7 +983,7 @@
   1.193                      srcB = (srcB * srcA) / 255;
   1.194                  }
   1.195              }
   1.196 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.197 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.198              case SDL_COPY_BLEND:
   1.199                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.200                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.201 @@ -949,6 +994,11 @@
   1.202                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.203                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.204                  break;
   1.205 +            case SDL_COPY_MOD:
   1.206 +                dstR = (srcR * dstR) / 255;
   1.207 +                dstG = (srcG * dstG) / 255;
   1.208 +                dstB = (srcB * dstB) / 255;
   1.209 +                break;
   1.210              }
   1.211              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.212              *dst = dstpixel;
   1.213 @@ -1088,7 +1138,7 @@
   1.214                      srcB = (srcB * srcA) / 255;
   1.215                  }
   1.216              }
   1.217 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.218 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.219              case SDL_COPY_BLEND:
   1.220                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.221                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.222 @@ -1099,6 +1149,11 @@
   1.223                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.224                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.225                  break;
   1.226 +            case SDL_COPY_MOD:
   1.227 +                dstR = (srcR * dstR) / 255;
   1.228 +                dstG = (srcG * dstG) / 255;
   1.229 +                dstB = (srcB * dstB) / 255;
   1.230 +                break;
   1.231              }
   1.232              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.233              *dst = dstpixel;
   1.234 @@ -1168,7 +1223,7 @@
   1.235                      srcB = (srcB * srcA) / 255;
   1.236                  }
   1.237              }
   1.238 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.239 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.240              case SDL_COPY_BLEND:
   1.241                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.242                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.243 @@ -1179,6 +1234,11 @@
   1.244                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.245                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.246                  break;
   1.247 +            case SDL_COPY_MOD:
   1.248 +                dstR = (srcR * dstR) / 255;
   1.249 +                dstG = (srcG * dstG) / 255;
   1.250 +                dstB = (srcB * dstB) / 255;
   1.251 +                break;
   1.252              }
   1.253              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.254              *dst = dstpixel;
   1.255 @@ -1259,7 +1319,7 @@
   1.256                      srcB = (srcB * srcA) / 255;
   1.257                  }
   1.258              }
   1.259 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.260 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.261              case SDL_COPY_BLEND:
   1.262                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.263                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.264 @@ -1270,6 +1330,11 @@
   1.265                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.266                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.267                  break;
   1.268 +            case SDL_COPY_MOD:
   1.269 +                dstR = (srcR * dstR) / 255;
   1.270 +                dstG = (srcG * dstG) / 255;
   1.271 +                dstB = (srcB * dstB) / 255;
   1.272 +                break;
   1.273              }
   1.274              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.275              *dst = dstpixel;
   1.276 @@ -1327,7 +1392,7 @@
   1.277                      srcB = (srcB * srcA) / 255;
   1.278                  }
   1.279              }
   1.280 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.281 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.282              case SDL_COPY_BLEND:
   1.283                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.284                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.285 @@ -1338,6 +1403,11 @@
   1.286                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.287                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.288                  break;
   1.289 +            case SDL_COPY_MOD:
   1.290 +                dstR = (srcR * dstR) / 255;
   1.291 +                dstG = (srcG * dstG) / 255;
   1.292 +                dstB = (srcB * dstB) / 255;
   1.293 +                break;
   1.294              }
   1.295              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.296              *dst = dstpixel;
   1.297 @@ -1477,7 +1547,7 @@
   1.298                      srcB = (srcB * srcA) / 255;
   1.299                  }
   1.300              }
   1.301 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.302 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.303              case SDL_COPY_BLEND:
   1.304                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.305                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.306 @@ -1488,6 +1558,11 @@
   1.307                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.308                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.309                  break;
   1.310 +            case SDL_COPY_MOD:
   1.311 +                dstR = (srcR * dstR) / 255;
   1.312 +                dstG = (srcG * dstG) / 255;
   1.313 +                dstB = (srcB * dstB) / 255;
   1.314 +                break;
   1.315              }
   1.316              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.317              *dst = dstpixel;
   1.318 @@ -1557,7 +1632,7 @@
   1.319                      srcB = (srcB * srcA) / 255;
   1.320                  }
   1.321              }
   1.322 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.323 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.324              case SDL_COPY_BLEND:
   1.325                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.326                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.327 @@ -1568,6 +1643,11 @@
   1.328                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.329                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.330                  break;
   1.331 +            case SDL_COPY_MOD:
   1.332 +                dstR = (srcR * dstR) / 255;
   1.333 +                dstG = (srcG * dstG) / 255;
   1.334 +                dstB = (srcB * dstB) / 255;
   1.335 +                break;
   1.336              }
   1.337              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.338              *dst = dstpixel;
   1.339 @@ -1643,7 +1723,7 @@
   1.340                      srcB = (srcB * srcA) / 255;
   1.341                  }
   1.342              }
   1.343 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.344 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.345              case SDL_COPY_BLEND:
   1.346                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.347                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.348 @@ -1654,6 +1734,11 @@
   1.349                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.350                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.351                  break;
   1.352 +            case SDL_COPY_MOD:
   1.353 +                dstR = (srcR * dstR) / 255;
   1.354 +                dstG = (srcG * dstG) / 255;
   1.355 +                dstB = (srcB * dstB) / 255;
   1.356 +                break;
   1.357              }
   1.358              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.359              *dst = dstpixel;
   1.360 @@ -1711,7 +1796,7 @@
   1.361                      srcB = (srcB * srcA) / 255;
   1.362                  }
   1.363              }
   1.364 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.365 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.366              case SDL_COPY_BLEND:
   1.367                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.368                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.369 @@ -1722,6 +1807,11 @@
   1.370                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.371                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.372                  break;
   1.373 +            case SDL_COPY_MOD:
   1.374 +                dstR = (srcR * dstR) / 255;
   1.375 +                dstG = (srcG * dstG) / 255;
   1.376 +                dstB = (srcB * dstB) / 255;
   1.377 +                break;
   1.378              }
   1.379              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.380              *dst = dstpixel;
   1.381 @@ -1861,7 +1951,7 @@
   1.382                      srcB = (srcB * srcA) / 255;
   1.383                  }
   1.384              }
   1.385 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.386 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.387              case SDL_COPY_BLEND:
   1.388                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.389                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.390 @@ -1872,6 +1962,11 @@
   1.391                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.392                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.393                  break;
   1.394 +            case SDL_COPY_MOD:
   1.395 +                dstR = (srcR * dstR) / 255;
   1.396 +                dstG = (srcG * dstG) / 255;
   1.397 +                dstB = (srcB * dstB) / 255;
   1.398 +                break;
   1.399              }
   1.400              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.401              *dst = dstpixel;
   1.402 @@ -1941,7 +2036,7 @@
   1.403                      srcB = (srcB * srcA) / 255;
   1.404                  }
   1.405              }
   1.406 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.407 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.408              case SDL_COPY_BLEND:
   1.409                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.410                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.411 @@ -1952,6 +2047,11 @@
   1.412                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.413                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.414                  break;
   1.415 +            case SDL_COPY_MOD:
   1.416 +                dstR = (srcR * dstR) / 255;
   1.417 +                dstG = (srcG * dstG) / 255;
   1.418 +                dstB = (srcB * dstB) / 255;
   1.419 +                break;
   1.420              }
   1.421              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.422              *dst = dstpixel;
   1.423 @@ -2032,7 +2132,7 @@
   1.424                      srcB = (srcB * srcA) / 255;
   1.425                  }
   1.426              }
   1.427 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.428 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.429              case SDL_COPY_BLEND:
   1.430                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.431                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.432 @@ -2043,6 +2143,11 @@
   1.433                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.434                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.435                  break;
   1.436 +            case SDL_COPY_MOD:
   1.437 +                dstR = (srcR * dstR) / 255;
   1.438 +                dstG = (srcG * dstG) / 255;
   1.439 +                dstB = (srcB * dstB) / 255;
   1.440 +                break;
   1.441              }
   1.442              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.443              *dst = dstpixel;
   1.444 @@ -2100,7 +2205,7 @@
   1.445                      srcB = (srcB * srcA) / 255;
   1.446                  }
   1.447              }
   1.448 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.449 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.450              case SDL_COPY_BLEND:
   1.451                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.452                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.453 @@ -2111,6 +2216,11 @@
   1.454                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.455                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.456                  break;
   1.457 +            case SDL_COPY_MOD:
   1.458 +                dstR = (srcR * dstR) / 255;
   1.459 +                dstG = (srcG * dstG) / 255;
   1.460 +                dstB = (srcB * dstB) / 255;
   1.461 +                break;
   1.462              }
   1.463              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.464              *dst = dstpixel;
   1.465 @@ -2250,7 +2360,7 @@
   1.466                      srcB = (srcB * srcA) / 255;
   1.467                  }
   1.468              }
   1.469 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.470 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.471              case SDL_COPY_BLEND:
   1.472                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.473                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.474 @@ -2261,6 +2371,11 @@
   1.475                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.476                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.477                  break;
   1.478 +            case SDL_COPY_MOD:
   1.479 +                dstR = (srcR * dstR) / 255;
   1.480 +                dstG = (srcG * dstG) / 255;
   1.481 +                dstB = (srcB * dstB) / 255;
   1.482 +                break;
   1.483              }
   1.484              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.485              *dst = dstpixel;
   1.486 @@ -2330,7 +2445,7 @@
   1.487                      srcB = (srcB * srcA) / 255;
   1.488                  }
   1.489              }
   1.490 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.491 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.492              case SDL_COPY_BLEND:
   1.493                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.494                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.495 @@ -2341,6 +2456,11 @@
   1.496                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.497                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.498                  break;
   1.499 +            case SDL_COPY_MOD:
   1.500 +                dstR = (srcR * dstR) / 255;
   1.501 +                dstG = (srcG * dstG) / 255;
   1.502 +                dstB = (srcB * dstB) / 255;
   1.503 +                break;
   1.504              }
   1.505              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.506              *dst = dstpixel;
   1.507 @@ -2421,7 +2541,7 @@
   1.508                      srcB = (srcB * srcA) / 255;
   1.509                  }
   1.510              }
   1.511 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.512 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.513              case SDL_COPY_BLEND:
   1.514                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.515                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.516 @@ -2432,6 +2552,11 @@
   1.517                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.518                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.519                  break;
   1.520 +            case SDL_COPY_MOD:
   1.521 +                dstR = (srcR * dstR) / 255;
   1.522 +                dstG = (srcG * dstG) / 255;
   1.523 +                dstB = (srcB * dstB) / 255;
   1.524 +                break;
   1.525              }
   1.526              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.527              *dst = dstpixel;
   1.528 @@ -2489,7 +2614,7 @@
   1.529                      srcB = (srcB * srcA) / 255;
   1.530                  }
   1.531              }
   1.532 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.533 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.534              case SDL_COPY_BLEND:
   1.535                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.536                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.537 @@ -2500,6 +2625,11 @@
   1.538                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.539                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.540                  break;
   1.541 +            case SDL_COPY_MOD:
   1.542 +                dstR = (srcR * dstR) / 255;
   1.543 +                dstG = (srcG * dstG) / 255;
   1.544 +                dstB = (srcB * dstB) / 255;
   1.545 +                break;
   1.546              }
   1.547              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.548              *dst = dstpixel;
   1.549 @@ -2639,7 +2769,7 @@
   1.550                      srcB = (srcB * srcA) / 255;
   1.551                  }
   1.552              }
   1.553 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.554 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.555              case SDL_COPY_BLEND:
   1.556                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.557                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.558 @@ -2650,6 +2780,11 @@
   1.559                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.560                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.561                  break;
   1.562 +            case SDL_COPY_MOD:
   1.563 +                dstR = (srcR * dstR) / 255;
   1.564 +                dstG = (srcG * dstG) / 255;
   1.565 +                dstB = (srcB * dstB) / 255;
   1.566 +                break;
   1.567              }
   1.568              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.569              *dst = dstpixel;
   1.570 @@ -2719,7 +2854,7 @@
   1.571                      srcB = (srcB * srcA) / 255;
   1.572                  }
   1.573              }
   1.574 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.575 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.576              case SDL_COPY_BLEND:
   1.577                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.578                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.579 @@ -2730,6 +2865,11 @@
   1.580                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.581                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.582                  break;
   1.583 +            case SDL_COPY_MOD:
   1.584 +                dstR = (srcR * dstR) / 255;
   1.585 +                dstG = (srcG * dstG) / 255;
   1.586 +                dstB = (srcB * dstB) / 255;
   1.587 +                break;
   1.588              }
   1.589              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.590              *dst = dstpixel;
   1.591 @@ -2810,7 +2950,7 @@
   1.592                      srcB = (srcB * srcA) / 255;
   1.593                  }
   1.594              }
   1.595 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.596 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.597              case SDL_COPY_BLEND:
   1.598                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.599                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.600 @@ -2821,6 +2961,11 @@
   1.601                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.602                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.603                  break;
   1.604 +            case SDL_COPY_MOD:
   1.605 +                dstR = (srcR * dstR) / 255;
   1.606 +                dstG = (srcG * dstG) / 255;
   1.607 +                dstB = (srcB * dstB) / 255;
   1.608 +                break;
   1.609              }
   1.610              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.611              *dst = dstpixel;
   1.612 @@ -2878,7 +3023,7 @@
   1.613                      srcB = (srcB * srcA) / 255;
   1.614                  }
   1.615              }
   1.616 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.617 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.618              case SDL_COPY_BLEND:
   1.619                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.620                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.621 @@ -2889,6 +3034,11 @@
   1.622                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.623                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.624                  break;
   1.625 +            case SDL_COPY_MOD:
   1.626 +                dstR = (srcR * dstR) / 255;
   1.627 +                dstG = (srcG * dstG) / 255;
   1.628 +                dstB = (srcB * dstB) / 255;
   1.629 +                break;
   1.630              }
   1.631              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.632              *dst = dstpixel;
   1.633 @@ -3028,7 +3178,7 @@
   1.634                      srcB = (srcB * srcA) / 255;
   1.635                  }
   1.636              }
   1.637 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.638 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.639              case SDL_COPY_BLEND:
   1.640                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.641                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.642 @@ -3039,6 +3189,11 @@
   1.643                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.644                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.645                  break;
   1.646 +            case SDL_COPY_MOD:
   1.647 +                dstR = (srcR * dstR) / 255;
   1.648 +                dstG = (srcG * dstG) / 255;
   1.649 +                dstB = (srcB * dstB) / 255;
   1.650 +                break;
   1.651              }
   1.652              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.653              *dst = dstpixel;
   1.654 @@ -3108,7 +3263,7 @@
   1.655                      srcB = (srcB * srcA) / 255;
   1.656                  }
   1.657              }
   1.658 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.659 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.660              case SDL_COPY_BLEND:
   1.661                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.662                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.663 @@ -3119,6 +3274,11 @@
   1.664                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.665                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.666                  break;
   1.667 +            case SDL_COPY_MOD:
   1.668 +                dstR = (srcR * dstR) / 255;
   1.669 +                dstG = (srcG * dstG) / 255;
   1.670 +                dstB = (srcB * dstB) / 255;
   1.671 +                break;
   1.672              }
   1.673              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.674              *dst = dstpixel;
   1.675 @@ -3194,7 +3354,7 @@
   1.676                      srcB = (srcB * srcA) / 255;
   1.677                  }
   1.678              }
   1.679 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.680 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.681              case SDL_COPY_BLEND:
   1.682                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.683                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.684 @@ -3205,6 +3365,11 @@
   1.685                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.686                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.687                  break;
   1.688 +            case SDL_COPY_MOD:
   1.689 +                dstR = (srcR * dstR) / 255;
   1.690 +                dstG = (srcG * dstG) / 255;
   1.691 +                dstB = (srcB * dstB) / 255;
   1.692 +                break;
   1.693              }
   1.694              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.695              *dst = dstpixel;
   1.696 @@ -3262,7 +3427,7 @@
   1.697                      srcB = (srcB * srcA) / 255;
   1.698                  }
   1.699              }
   1.700 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.701 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.702              case SDL_COPY_BLEND:
   1.703                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.704                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.705 @@ -3273,6 +3438,11 @@
   1.706                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.707                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.708                  break;
   1.709 +            case SDL_COPY_MOD:
   1.710 +                dstR = (srcR * dstR) / 255;
   1.711 +                dstG = (srcG * dstG) / 255;
   1.712 +                dstB = (srcB * dstB) / 255;
   1.713 +                break;
   1.714              }
   1.715              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.716              *dst = dstpixel;
   1.717 @@ -3412,7 +3582,7 @@
   1.718                      srcB = (srcB * srcA) / 255;
   1.719                  }
   1.720              }
   1.721 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.722 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.723              case SDL_COPY_BLEND:
   1.724                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.725                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.726 @@ -3423,6 +3593,11 @@
   1.727                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.728                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.729                  break;
   1.730 +            case SDL_COPY_MOD:
   1.731 +                dstR = (srcR * dstR) / 255;
   1.732 +                dstG = (srcG * dstG) / 255;
   1.733 +                dstB = (srcB * dstB) / 255;
   1.734 +                break;
   1.735              }
   1.736              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.737              *dst = dstpixel;
   1.738 @@ -3492,7 +3667,7 @@
   1.739                      srcB = (srcB * srcA) / 255;
   1.740                  }
   1.741              }
   1.742 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.743 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.744              case SDL_COPY_BLEND:
   1.745                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.746                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.747 @@ -3503,6 +3678,11 @@
   1.748                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.749                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.750                  break;
   1.751 +            case SDL_COPY_MOD:
   1.752 +                dstR = (srcR * dstR) / 255;
   1.753 +                dstG = (srcG * dstG) / 255;
   1.754 +                dstB = (srcB * dstB) / 255;
   1.755 +                break;
   1.756              }
   1.757              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.758              *dst = dstpixel;
   1.759 @@ -3583,7 +3763,7 @@
   1.760                      srcB = (srcB * srcA) / 255;
   1.761                  }
   1.762              }
   1.763 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.764 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.765              case SDL_COPY_BLEND:
   1.766                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.767                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.768 @@ -3594,6 +3774,11 @@
   1.769                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.770                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.771                  break;
   1.772 +            case SDL_COPY_MOD:
   1.773 +                dstR = (srcR * dstR) / 255;
   1.774 +                dstG = (srcG * dstG) / 255;
   1.775 +                dstB = (srcB * dstB) / 255;
   1.776 +                break;
   1.777              }
   1.778              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.779              *dst = dstpixel;
   1.780 @@ -3651,7 +3836,7 @@
   1.781                      srcB = (srcB * srcA) / 255;
   1.782                  }
   1.783              }
   1.784 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.785 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.786              case SDL_COPY_BLEND:
   1.787                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.788                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.789 @@ -3662,6 +3847,11 @@
   1.790                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.791                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.792                  break;
   1.793 +            case SDL_COPY_MOD:
   1.794 +                dstR = (srcR * dstR) / 255;
   1.795 +                dstG = (srcG * dstG) / 255;
   1.796 +                dstB = (srcB * dstB) / 255;
   1.797 +                break;
   1.798              }
   1.799              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.800              *dst = dstpixel;
   1.801 @@ -3801,7 +3991,7 @@
   1.802                      srcB = (srcB * srcA) / 255;
   1.803                  }
   1.804              }
   1.805 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.806 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.807              case SDL_COPY_BLEND:
   1.808                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.809                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.810 @@ -3812,6 +4002,11 @@
   1.811                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.812                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.813                  break;
   1.814 +            case SDL_COPY_MOD:
   1.815 +                dstR = (srcR * dstR) / 255;
   1.816 +                dstG = (srcG * dstG) / 255;
   1.817 +                dstB = (srcB * dstB) / 255;
   1.818 +                break;
   1.819              }
   1.820              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.821              *dst = dstpixel;
   1.822 @@ -3881,7 +4076,7 @@
   1.823                      srcB = (srcB * srcA) / 255;
   1.824                  }
   1.825              }
   1.826 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.827 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.828              case SDL_COPY_BLEND:
   1.829                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.830                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.831 @@ -3892,6 +4087,11 @@
   1.832                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.833                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.834                  break;
   1.835 +            case SDL_COPY_MOD:
   1.836 +                dstR = (srcR * dstR) / 255;
   1.837 +                dstG = (srcG * dstG) / 255;
   1.838 +                dstB = (srcB * dstB) / 255;
   1.839 +                break;
   1.840              }
   1.841              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.842              *dst = dstpixel;
   1.843 @@ -3972,7 +4172,7 @@
   1.844                      srcB = (srcB * srcA) / 255;
   1.845                  }
   1.846              }
   1.847 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.848 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.849              case SDL_COPY_BLEND:
   1.850                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.851                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.852 @@ -3983,6 +4183,11 @@
   1.853                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.854                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.855                  break;
   1.856 +            case SDL_COPY_MOD:
   1.857 +                dstR = (srcR * dstR) / 255;
   1.858 +                dstG = (srcG * dstG) / 255;
   1.859 +                dstB = (srcB * dstB) / 255;
   1.860 +                break;
   1.861              }
   1.862              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.863              *dst = dstpixel;
   1.864 @@ -4040,7 +4245,7 @@
   1.865                      srcB = (srcB * srcA) / 255;
   1.866                  }
   1.867              }
   1.868 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.869 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.870              case SDL_COPY_BLEND:
   1.871                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.872                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.873 @@ -4051,6 +4256,11 @@
   1.874                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.875                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.876                  break;
   1.877 +            case SDL_COPY_MOD:
   1.878 +                dstR = (srcR * dstR) / 255;
   1.879 +                dstG = (srcG * dstG) / 255;
   1.880 +                dstB = (srcB * dstB) / 255;
   1.881 +                break;
   1.882              }
   1.883              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.884              *dst = dstpixel;
   1.885 @@ -4190,7 +4400,7 @@
   1.886                      srcB = (srcB * srcA) / 255;
   1.887                  }
   1.888              }
   1.889 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.890 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.891              case SDL_COPY_BLEND:
   1.892                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.893                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.894 @@ -4201,6 +4411,11 @@
   1.895                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.896                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.897                  break;
   1.898 +            case SDL_COPY_MOD:
   1.899 +                dstR = (srcR * dstR) / 255;
   1.900 +                dstG = (srcG * dstG) / 255;
   1.901 +                dstB = (srcB * dstB) / 255;
   1.902 +                break;
   1.903              }
   1.904              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.905              *dst = dstpixel;
   1.906 @@ -4270,7 +4485,7 @@
   1.907                      srcB = (srcB * srcA) / 255;
   1.908                  }
   1.909              }
   1.910 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.911 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.912              case SDL_COPY_BLEND:
   1.913                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.914                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.915 @@ -4281,6 +4496,11 @@
   1.916                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.917                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.918                  break;
   1.919 +            case SDL_COPY_MOD:
   1.920 +                dstR = (srcR * dstR) / 255;
   1.921 +                dstG = (srcG * dstG) / 255;
   1.922 +                dstB = (srcB * dstB) / 255;
   1.923 +                break;
   1.924              }
   1.925              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
   1.926              *dst = dstpixel;
   1.927 @@ -4361,7 +4581,7 @@
   1.928                      srcB = (srcB * srcA) / 255;
   1.929                  }
   1.930              }
   1.931 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.932 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.933              case SDL_COPY_BLEND:
   1.934                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.935                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.936 @@ -4372,6 +4592,11 @@
   1.937                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.938                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.939                  break;
   1.940 +            case SDL_COPY_MOD:
   1.941 +                dstR = (srcR * dstR) / 255;
   1.942 +                dstG = (srcG * dstG) / 255;
   1.943 +                dstB = (srcB * dstB) / 255;
   1.944 +                break;
   1.945              }
   1.946              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.947              *dst = dstpixel;
   1.948 @@ -4429,7 +4654,7 @@
   1.949                      srcB = (srcB * srcA) / 255;
   1.950                  }
   1.951              }
   1.952 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.953 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.954              case SDL_COPY_BLEND:
   1.955                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.956                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.957 @@ -4440,6 +4665,11 @@
   1.958                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.959                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.960                  break;
   1.961 +            case SDL_COPY_MOD:
   1.962 +                dstR = (srcR * dstR) / 255;
   1.963 +                dstG = (srcG * dstG) / 255;
   1.964 +                dstB = (srcB * dstB) / 255;
   1.965 +                break;
   1.966              }
   1.967              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.968              *dst = dstpixel;
   1.969 @@ -4579,7 +4809,7 @@
   1.970                      srcB = (srcB * srcA) / 255;
   1.971                  }
   1.972              }
   1.973 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.974 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.975              case SDL_COPY_BLEND:
   1.976                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.977                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.978 @@ -4590,6 +4820,11 @@
   1.979                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
   1.980                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
   1.981                  break;
   1.982 +            case SDL_COPY_MOD:
   1.983 +                dstR = (srcR * dstR) / 255;
   1.984 +                dstG = (srcG * dstG) / 255;
   1.985 +                dstB = (srcB * dstB) / 255;
   1.986 +                break;
   1.987              }
   1.988              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
   1.989              *dst = dstpixel;
   1.990 @@ -4659,7 +4894,7 @@
   1.991                      srcB = (srcB * srcA) / 255;
   1.992                  }
   1.993              }
   1.994 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
   1.995 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
   1.996              case SDL_COPY_BLEND:
   1.997                  dstR = srcR + ((255 - srcA) * dstR) / 255;
   1.998                  dstG = srcG + ((255 - srcA) * dstG) / 255;
   1.999 @@ -4670,6 +4905,11 @@
  1.1000                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1001                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1002                  break;
  1.1003 +            case SDL_COPY_MOD:
  1.1004 +                dstR = (srcR * dstR) / 255;
  1.1005 +                dstG = (srcG * dstG) / 255;
  1.1006 +                dstB = (srcB * dstB) / 255;
  1.1007 +                break;
  1.1008              }
  1.1009              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1010              *dst = dstpixel;
  1.1011 @@ -4750,7 +4990,7 @@
  1.1012                      srcB = (srcB * srcA) / 255;
  1.1013                  }
  1.1014              }
  1.1015 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1016 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1017              case SDL_COPY_BLEND:
  1.1018                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1019                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1020 @@ -4761,6 +5001,11 @@
  1.1021                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1022                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1023                  break;
  1.1024 +            case SDL_COPY_MOD:
  1.1025 +                dstR = (srcR * dstR) / 255;
  1.1026 +                dstG = (srcG * dstG) / 255;
  1.1027 +                dstB = (srcB * dstB) / 255;
  1.1028 +                break;
  1.1029              }
  1.1030              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1031              *dst = dstpixel;
  1.1032 @@ -4818,7 +5063,7 @@
  1.1033                      srcB = (srcB * srcA) / 255;
  1.1034                  }
  1.1035              }
  1.1036 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1037 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1038              case SDL_COPY_BLEND:
  1.1039                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1040                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1041 @@ -4829,6 +5074,11 @@
  1.1042                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1043                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1044                  break;
  1.1045 +            case SDL_COPY_MOD:
  1.1046 +                dstR = (srcR * dstR) / 255;
  1.1047 +                dstG = (srcG * dstG) / 255;
  1.1048 +                dstB = (srcB * dstB) / 255;
  1.1049 +                break;
  1.1050              }
  1.1051              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1052              *dst = dstpixel;
  1.1053 @@ -4968,7 +5218,7 @@
  1.1054                      srcB = (srcB * srcA) / 255;
  1.1055                  }
  1.1056              }
  1.1057 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1058 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1059              case SDL_COPY_BLEND:
  1.1060                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1061                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1062 @@ -4979,6 +5229,11 @@
  1.1063                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1064                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1065                  break;
  1.1066 +            case SDL_COPY_MOD:
  1.1067 +                dstR = (srcR * dstR) / 255;
  1.1068 +                dstG = (srcG * dstG) / 255;
  1.1069 +                dstB = (srcB * dstB) / 255;
  1.1070 +                break;
  1.1071              }
  1.1072              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1073              *dst = dstpixel;
  1.1074 @@ -5048,7 +5303,7 @@
  1.1075                      srcB = (srcB * srcA) / 255;
  1.1076                  }
  1.1077              }
  1.1078 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1079 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1080              case SDL_COPY_BLEND:
  1.1081                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1082                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1083 @@ -5059,6 +5314,11 @@
  1.1084                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1085                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1086                  break;
  1.1087 +            case SDL_COPY_MOD:
  1.1088 +                dstR = (srcR * dstR) / 255;
  1.1089 +                dstG = (srcG * dstG) / 255;
  1.1090 +                dstB = (srcB * dstB) / 255;
  1.1091 +                break;
  1.1092              }
  1.1093              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1094              *dst = dstpixel;
  1.1095 @@ -5139,7 +5399,7 @@
  1.1096                      srcB = (srcB * srcA) / 255;
  1.1097                  }
  1.1098              }
  1.1099 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1100 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1101              case SDL_COPY_BLEND:
  1.1102                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1103                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1104 @@ -5150,6 +5410,11 @@
  1.1105                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1106                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1107                  break;
  1.1108 +            case SDL_COPY_MOD:
  1.1109 +                dstR = (srcR * dstR) / 255;
  1.1110 +                dstG = (srcG * dstG) / 255;
  1.1111 +                dstB = (srcB * dstB) / 255;
  1.1112 +                break;
  1.1113              }
  1.1114              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
  1.1115              *dst = dstpixel;
  1.1116 @@ -5207,7 +5472,7 @@
  1.1117                      srcB = (srcB * srcA) / 255;
  1.1118                  }
  1.1119              }
  1.1120 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1121 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1122              case SDL_COPY_BLEND:
  1.1123                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1124                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1125 @@ -5218,6 +5483,11 @@
  1.1126                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1127                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1128                  break;
  1.1129 +            case SDL_COPY_MOD:
  1.1130 +                dstR = (srcR * dstR) / 255;
  1.1131 +                dstG = (srcG * dstG) / 255;
  1.1132 +                dstB = (srcB * dstB) / 255;
  1.1133 +                break;
  1.1134              }
  1.1135              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
  1.1136              *dst = dstpixel;
  1.1137 @@ -5357,7 +5627,7 @@
  1.1138                      srcB = (srcB * srcA) / 255;
  1.1139                  }
  1.1140              }
  1.1141 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1142 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1143              case SDL_COPY_BLEND:
  1.1144                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1145                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1146 @@ -5368,6 +5638,11 @@
  1.1147                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1148                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1149                  break;
  1.1150 +            case SDL_COPY_MOD:
  1.1151 +                dstR = (srcR * dstR) / 255;
  1.1152 +                dstG = (srcG * dstG) / 255;
  1.1153 +                dstB = (srcB * dstB) / 255;
  1.1154 +                break;
  1.1155              }
  1.1156              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
  1.1157              *dst = dstpixel;
  1.1158 @@ -5437,7 +5712,7 @@
  1.1159                      srcB = (srcB * srcA) / 255;
  1.1160                  }
  1.1161              }
  1.1162 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1163 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1164              case SDL_COPY_BLEND:
  1.1165                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1166                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1167 @@ -5448,6 +5723,11 @@
  1.1168                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1169                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1170                  break;
  1.1171 +            case SDL_COPY_MOD:
  1.1172 +                dstR = (srcR * dstR) / 255;
  1.1173 +                dstG = (srcG * dstG) / 255;
  1.1174 +                dstB = (srcB * dstB) / 255;
  1.1175 +                break;
  1.1176              }
  1.1177              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
  1.1178              *dst = dstpixel;
  1.1179 @@ -5528,7 +5808,7 @@
  1.1180                      srcB = (srcB * srcA) / 255;
  1.1181                  }
  1.1182              }
  1.1183 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1184 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1185              case SDL_COPY_BLEND:
  1.1186                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1187                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1188 @@ -5539,6 +5819,11 @@
  1.1189                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1190                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1191                  break;
  1.1192 +            case SDL_COPY_MOD:
  1.1193 +                dstR = (srcR * dstR) / 255;
  1.1194 +                dstG = (srcG * dstG) / 255;
  1.1195 +                dstB = (srcB * dstB) / 255;
  1.1196 +                break;
  1.1197              }
  1.1198              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1199              *dst = dstpixel;
  1.1200 @@ -5596,7 +5881,7 @@
  1.1201                      srcB = (srcB * srcA) / 255;
  1.1202                  }
  1.1203              }
  1.1204 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1205 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1206              case SDL_COPY_BLEND:
  1.1207                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1208                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1209 @@ -5607,6 +5892,11 @@
  1.1210                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1211                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1212                  break;
  1.1213 +            case SDL_COPY_MOD:
  1.1214 +                dstR = (srcR * dstR) / 255;
  1.1215 +                dstG = (srcG * dstG) / 255;
  1.1216 +                dstB = (srcB * dstB) / 255;
  1.1217 +                break;
  1.1218              }
  1.1219              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1220              *dst = dstpixel;
  1.1221 @@ -5746,7 +6036,7 @@
  1.1222                      srcB = (srcB * srcA) / 255;
  1.1223                  }
  1.1224              }
  1.1225 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1226 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1227              case SDL_COPY_BLEND:
  1.1228                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1229                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1230 @@ -5757,6 +6047,11 @@
  1.1231                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1232                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1233                  break;
  1.1234 +            case SDL_COPY_MOD:
  1.1235 +                dstR = (srcR * dstR) / 255;
  1.1236 +                dstG = (srcG * dstG) / 255;
  1.1237 +                dstB = (srcB * dstB) / 255;
  1.1238 +                break;
  1.1239              }
  1.1240              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1241              *dst = dstpixel;
  1.1242 @@ -5826,7 +6121,7 @@
  1.1243                      srcB = (srcB * srcA) / 255;
  1.1244                  }
  1.1245              }
  1.1246 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1247 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1248              case SDL_COPY_BLEND:
  1.1249                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1250                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1251 @@ -5837,6 +6132,11 @@
  1.1252                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1253                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1254                  break;
  1.1255 +            case SDL_COPY_MOD:
  1.1256 +                dstR = (srcR * dstR) / 255;
  1.1257 +                dstG = (srcG * dstG) / 255;
  1.1258 +                dstB = (srcB * dstB) / 255;
  1.1259 +                break;
  1.1260              }
  1.1261              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1262              *dst = dstpixel;
  1.1263 @@ -5917,7 +6217,7 @@
  1.1264                      srcB = (srcB * srcA) / 255;
  1.1265                  }
  1.1266              }
  1.1267 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1268 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1269              case SDL_COPY_BLEND:
  1.1270                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1271                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1272 @@ -5928,6 +6228,11 @@
  1.1273                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1274                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1275                  break;
  1.1276 +            case SDL_COPY_MOD:
  1.1277 +                dstR = (srcR * dstR) / 255;
  1.1278 +                dstG = (srcG * dstG) / 255;
  1.1279 +                dstB = (srcB * dstB) / 255;
  1.1280 +                break;
  1.1281              }
  1.1282              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1283              *dst = dstpixel;
  1.1284 @@ -5985,7 +6290,7 @@
  1.1285                      srcB = (srcB * srcA) / 255;
  1.1286                  }
  1.1287              }
  1.1288 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1289 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1290              case SDL_COPY_BLEND:
  1.1291                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1292                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1293 @@ -5996,6 +6301,11 @@
  1.1294                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1295                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1296                  break;
  1.1297 +            case SDL_COPY_MOD:
  1.1298 +                dstR = (srcR * dstR) / 255;
  1.1299 +                dstG = (srcG * dstG) / 255;
  1.1300 +                dstB = (srcB * dstB) / 255;
  1.1301 +                break;
  1.1302              }
  1.1303              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1304              *dst = dstpixel;
  1.1305 @@ -6135,7 +6445,7 @@
  1.1306                      srcB = (srcB * srcA) / 255;
  1.1307                  }
  1.1308              }
  1.1309 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1310 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1311              case SDL_COPY_BLEND:
  1.1312                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1313                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1314 @@ -6146,6 +6456,11 @@
  1.1315                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1316                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1317                  break;
  1.1318 +            case SDL_COPY_MOD:
  1.1319 +                dstR = (srcR * dstR) / 255;
  1.1320 +                dstG = (srcG * dstG) / 255;
  1.1321 +                dstB = (srcB * dstB) / 255;
  1.1322 +                break;
  1.1323              }
  1.1324              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1325              *dst = dstpixel;
  1.1326 @@ -6215,7 +6530,7 @@
  1.1327                      srcB = (srcB * srcA) / 255;
  1.1328                  }
  1.1329              }
  1.1330 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1331 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1332              case SDL_COPY_BLEND:
  1.1333                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1334                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1335 @@ -6226,6 +6541,11 @@
  1.1336                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1337                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1338                  break;
  1.1339 +            case SDL_COPY_MOD:
  1.1340 +                dstR = (srcR * dstR) / 255;
  1.1341 +                dstG = (srcG * dstG) / 255;
  1.1342 +                dstB = (srcB * dstB) / 255;
  1.1343 +                break;
  1.1344              }
  1.1345              dstpixel = ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1346              *dst = dstpixel;
  1.1347 @@ -6306,7 +6626,7 @@
  1.1348                      srcB = (srcB * srcA) / 255;
  1.1349                  }
  1.1350              }
  1.1351 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1352 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1353              case SDL_COPY_BLEND:
  1.1354                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1355                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1356 @@ -6317,6 +6637,11 @@
  1.1357                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1358                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1359                  break;
  1.1360 +            case SDL_COPY_MOD:
  1.1361 +                dstR = (srcR * dstR) / 255;
  1.1362 +                dstG = (srcG * dstG) / 255;
  1.1363 +                dstB = (srcB * dstB) / 255;
  1.1364 +                break;
  1.1365              }
  1.1366              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
  1.1367              *dst = dstpixel;
  1.1368 @@ -6374,7 +6699,7 @@
  1.1369                      srcB = (srcB * srcA) / 255;
  1.1370                  }
  1.1371              }
  1.1372 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1373 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1374              case SDL_COPY_BLEND:
  1.1375                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1376                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1377 @@ -6385,6 +6710,11 @@
  1.1378                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1379                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1380                  break;
  1.1381 +            case SDL_COPY_MOD:
  1.1382 +                dstR = (srcR * dstR) / 255;
  1.1383 +                dstG = (srcG * dstG) / 255;
  1.1384 +                dstB = (srcB * dstB) / 255;
  1.1385 +                break;
  1.1386              }
  1.1387              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
  1.1388              *dst = dstpixel;
  1.1389 @@ -6524,7 +6854,7 @@
  1.1390                      srcB = (srcB * srcA) / 255;
  1.1391                  }
  1.1392              }
  1.1393 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1394 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1395              case SDL_COPY_BLEND:
  1.1396                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1397                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1398 @@ -6535,6 +6865,11 @@
  1.1399                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1400                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1401                  break;
  1.1402 +            case SDL_COPY_MOD:
  1.1403 +                dstR = (srcR * dstR) / 255;
  1.1404 +                dstG = (srcG * dstG) / 255;
  1.1405 +                dstB = (srcB * dstB) / 255;
  1.1406 +                break;
  1.1407              }
  1.1408              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
  1.1409              *dst = dstpixel;
  1.1410 @@ -6604,7 +6939,7 @@
  1.1411                      srcB = (srcB * srcA) / 255;
  1.1412                  }
  1.1413              }
  1.1414 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1415 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1416              case SDL_COPY_BLEND:
  1.1417                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1418                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1419 @@ -6615,6 +6950,11 @@
  1.1420                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1421                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1422                  break;
  1.1423 +            case SDL_COPY_MOD:
  1.1424 +                dstR = (srcR * dstR) / 255;
  1.1425 +                dstG = (srcG * dstG) / 255;
  1.1426 +                dstB = (srcB * dstB) / 255;
  1.1427 +                break;
  1.1428              }
  1.1429              dstpixel = ((Uint32)dstB << 16) | ((Uint32)dstG << 8) | dstR;
  1.1430              *dst = dstpixel;
  1.1431 @@ -6695,7 +7035,7 @@
  1.1432                      srcB = (srcB * srcA) / 255;
  1.1433                  }
  1.1434              }
  1.1435 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1436 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1437              case SDL_COPY_BLEND:
  1.1438                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1439                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1440 @@ -6706,6 +7046,11 @@
  1.1441                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1442                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1443                  break;
  1.1444 +            case SDL_COPY_MOD:
  1.1445 +                dstR = (srcR * dstR) / 255;
  1.1446 +                dstG = (srcG * dstG) / 255;
  1.1447 +                dstB = (srcB * dstB) / 255;
  1.1448 +                break;
  1.1449              }
  1.1450              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1451              *dst = dstpixel;
  1.1452 @@ -6763,7 +7108,7 @@
  1.1453                      srcB = (srcB * srcA) / 255;
  1.1454                  }
  1.1455              }
  1.1456 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1457 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1458              case SDL_COPY_BLEND:
  1.1459                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1460                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1461 @@ -6774,6 +7119,11 @@
  1.1462                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1463                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1464                  break;
  1.1465 +            case SDL_COPY_MOD:
  1.1466 +                dstR = (srcR * dstR) / 255;
  1.1467 +                dstG = (srcG * dstG) / 255;
  1.1468 +                dstB = (srcB * dstB) / 255;
  1.1469 +                break;
  1.1470              }
  1.1471              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1472              *dst = dstpixel;
  1.1473 @@ -6913,7 +7263,7 @@
  1.1474                      srcB = (srcB * srcA) / 255;
  1.1475                  }
  1.1476              }
  1.1477 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1478 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1479              case SDL_COPY_BLEND:
  1.1480                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1481                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1482 @@ -6924,6 +7274,11 @@
  1.1483                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1484                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1485                  break;
  1.1486 +            case SDL_COPY_MOD:
  1.1487 +                dstR = (srcR * dstR) / 255;
  1.1488 +                dstG = (srcG * dstG) / 255;
  1.1489 +                dstB = (srcB * dstB) / 255;
  1.1490 +                break;
  1.1491              }
  1.1492              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1493              *dst = dstpixel;
  1.1494 @@ -6993,7 +7348,7 @@
  1.1495                      srcB = (srcB * srcA) / 255;
  1.1496                  }
  1.1497              }
  1.1498 -            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD)) {
  1.1499 +            switch (flags & (SDL_COPY_BLEND|SDL_COPY_ADD|SDL_COPY_MOD)) {
  1.1500              case SDL_COPY_BLEND:
  1.1501                  dstR = srcR + ((255 - srcA) * dstR) / 255;
  1.1502                  dstG = srcG + ((255 - srcA) * dstG) / 255;
  1.1503 @@ -7004,6 +7359,11 @@
  1.1504                  dstG = srcG + dstG; if (dstG > 255) dstG = 255;
  1.1505                  dstB = srcB + dstB; if (dstB > 255) dstB = 255;
  1.1506                  break;
  1.1507 +            case SDL_COPY_MOD:
  1.1508 +                dstR = (srcR * dstR) / 255;
  1.1509 +                dstG = (srcG * dstG) / 255;
  1.1510 +                dstB = (srcB * dstB) / 255;
  1.1511 +                break;
  1.1512              }
  1.1513              dstpixel = ((Uint32)dstA << 24) | ((Uint32)dstR << 16) | ((Uint32)dstG << 8) | dstB;
  1.1514              *dst = dstpixel;
  1.1515 @@ -7017,131 +7377,131 @@
  1.1516  
  1.1517  SDL_BlitFuncEntry SDL_GeneratedBlitFuncTable[] = {
  1.1518      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_RGB888_Scale },
  1.1519 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_RGB888_RGB888_Blend },
  1.1520 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_RGB888_Blend_Scale },
  1.1521 +    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_RGB888_RGB888_Blend },
  1.1522 +    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_RGB888_Blend_Scale },
  1.1523      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_RGB888_RGB888_Modulate },
  1.1524      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_RGB888_Modulate_Scale },
  1.1525 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_RGB888_RGB888_Modulate_Blend },
  1.1526 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_RGB888_Modulate_Blend_Scale },
  1.1527 +    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_RGB888_RGB888_Modulate_Blend },
  1.1528 +    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_RGB888_Modulate_Blend_Scale },
  1.1529      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_BGR888_Scale },
  1.1530 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_RGB888_BGR888_Blend },
  1.1531 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_BGR888_Blend_Scale },
  1.1532 +    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_RGB888_BGR888_Blend },
  1.1533 +    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_BGR888_Blend_Scale },
  1.1534      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_RGB888_BGR888_Modulate },
  1.1535      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_BGR888_Modulate_Scale },
  1.1536 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_RGB888_BGR888_Modulate_Blend },
  1.1537 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_BGR888_Modulate_Blend_Scale },
  1.1538 +    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_RGB888_BGR888_Modulate_Blend },
  1.1539 +    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_BGR888_Modulate_Blend_Scale },
  1.1540      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_ARGB8888_Scale },
  1.1541 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_RGB888_ARGB8888_Blend },
  1.1542 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_ARGB8888_Blend_Scale },
  1.1543 +    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_RGB888_ARGB8888_Blend },
  1.1544 +    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_ARGB8888_Blend_Scale },
  1.1545      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_RGB888_ARGB8888_Modulate },
  1.1546      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_ARGB8888_Modulate_Scale },
  1.1547 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_RGB888_ARGB8888_Modulate_Blend },
  1.1548 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_ARGB8888_Modulate_Blend_Scale },
  1.1549 +    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_RGB888_ARGB8888_Modulate_Blend },
  1.1550 +    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGB888_ARGB8888_Modulate_Blend_Scale },
  1.1551      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_RGB888_Scale },
  1.1552 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_BGR888_RGB888_Blend },
  1.1553 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_RGB888_Blend_Scale },
  1.1554 +    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_BGR888_RGB888_Blend },
  1.1555 +    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_RGB888_Blend_Scale },
  1.1556      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_BGR888_RGB888_Modulate },
  1.1557      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_RGB888_Modulate_Scale },
  1.1558 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_BGR888_RGB888_Modulate_Blend },
  1.1559 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_RGB888_Modulate_Blend_Scale },
  1.1560 +    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_BGR888_RGB888_Modulate_Blend },
  1.1561 +    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_RGB888_Modulate_Blend_Scale },
  1.1562      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_BGR888_Scale },
  1.1563 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_BGR888_BGR888_Blend },
  1.1564 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_BGR888_Blend_Scale },
  1.1565 +    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_BGR888_BGR888_Blend },
  1.1566 +    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_BGR888_Blend_Scale },
  1.1567      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_BGR888_BGR888_Modulate },
  1.1568      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_BGR888_Modulate_Scale },
  1.1569 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_BGR888_BGR888_Modulate_Blend },
  1.1570 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_BGR888_Modulate_Blend_Scale },
  1.1571 +    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_BGR888_BGR888_Modulate_Blend },
  1.1572 +    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_BGR888_Modulate_Blend_Scale },
  1.1573      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_ARGB8888_Scale },
  1.1574 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_BGR888_ARGB8888_Blend },
  1.1575 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_ARGB8888_Blend_Scale },
  1.1576 +    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_BGR888_ARGB8888_Blend },
  1.1577 +    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_ARGB8888_Blend_Scale },
  1.1578      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_BGR888_ARGB8888_Modulate },
  1.1579      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_ARGB8888_Modulate_Scale },
  1.1580 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_BGR888_ARGB8888_Modulate_Blend },
  1.1581 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_ARGB8888_Modulate_Blend_Scale },
  1.1582 +    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_BGR888_ARGB8888_Modulate_Blend },
  1.1583 +    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGR888_ARGB8888_Modulate_Blend_Scale },
  1.1584      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_RGB888_Scale },
  1.1585 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_ARGB8888_RGB888_Blend },
  1.1586 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_RGB888_Blend_Scale },
  1.1587 +    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_ARGB8888_RGB888_Blend },
  1.1588 +    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_RGB888_Blend_Scale },
  1.1589      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_ARGB8888_RGB888_Modulate },
  1.1590      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_RGB888_Modulate_Scale },
  1.1591 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_ARGB8888_RGB888_Modulate_Blend },
  1.1592 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_RGB888_Modulate_Blend_Scale },
  1.1593 +    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_ARGB8888_RGB888_Modulate_Blend },
  1.1594 +    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_RGB888_Modulate_Blend_Scale },
  1.1595      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_BGR888_Scale },
  1.1596 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_ARGB8888_BGR888_Blend },
  1.1597 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_BGR888_Blend_Scale },
  1.1598 +    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_ARGB8888_BGR888_Blend },
  1.1599 +    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_BGR888_Blend_Scale },
  1.1600      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_ARGB8888_BGR888_Modulate },
  1.1601      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_BGR888_Modulate_Scale },
  1.1602 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_ARGB8888_BGR888_Modulate_Blend },
  1.1603 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_BGR888_Modulate_Blend_Scale },
  1.1604 +    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_ARGB8888_BGR888_Modulate_Blend },
  1.1605 +    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_BGR888_Modulate_Blend_Scale },
  1.1606      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_ARGB8888_Scale },
  1.1607 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_ARGB8888_ARGB8888_Blend },
  1.1608 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_ARGB8888_Blend_Scale },
  1.1609 +    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_ARGB8888_ARGB8888_Blend },
  1.1610 +    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_ARGB8888_Blend_Scale },
  1.1611      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_ARGB8888_ARGB8888_Modulate },
  1.1612      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_ARGB8888_Modulate_Scale },
  1.1613 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_ARGB8888_ARGB8888_Modulate_Blend },
  1.1614 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_ARGB8888_Modulate_Blend_Scale },
  1.1615 +    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_ARGB8888_ARGB8888_Modulate_Blend },
  1.1616 +    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ARGB8888_ARGB8888_Modulate_Blend_Scale },
  1.1617      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_RGB888_Scale },
  1.1618 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_RGBA8888_RGB888_Blend },
  1.1619 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_RGB888_Blend_Scale },
  1.1620 +    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_RGBA8888_RGB888_Blend },
  1.1621 +    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_RGB888_Blend_Scale },
  1.1622      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_RGBA8888_RGB888_Modulate },
  1.1623      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_RGB888_Modulate_Scale },
  1.1624 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_RGBA8888_RGB888_Modulate_Blend },
  1.1625 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_RGB888_Modulate_Blend_Scale },
  1.1626 +    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_RGBA8888_RGB888_Modulate_Blend },
  1.1627 +    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_RGB888_Modulate_Blend_Scale },
  1.1628      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_BGR888_Scale },
  1.1629 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_RGBA8888_BGR888_Blend },
  1.1630 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_BGR888_Blend_Scale },
  1.1631 +    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_RGBA8888_BGR888_Blend },
  1.1632 +    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_BGR888_Blend_Scale },
  1.1633      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_RGBA8888_BGR888_Modulate },
  1.1634      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_BGR888_Modulate_Scale },
  1.1635 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_RGBA8888_BGR888_Modulate_Blend },
  1.1636 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_BGR888_Modulate_Blend_Scale },
  1.1637 +    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_RGBA8888_BGR888_Modulate_Blend },
  1.1638 +    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_BGR888_Modulate_Blend_Scale },
  1.1639      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_ARGB8888_Scale },
  1.1640 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_RGBA8888_ARGB8888_Blend },
  1.1641 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_ARGB8888_Blend_Scale },
  1.1642 +    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_RGBA8888_ARGB8888_Blend },
  1.1643 +    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_ARGB8888_Blend_Scale },
  1.1644      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_RGBA8888_ARGB8888_Modulate },
  1.1645      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_ARGB8888_Modulate_Scale },
  1.1646 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_RGBA8888_ARGB8888_Modulate_Blend },
  1.1647 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_ARGB8888_Modulate_Blend_Scale },
  1.1648 +    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_RGBA8888_ARGB8888_Modulate_Blend },
  1.1649 +    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_RGBA8888_ARGB8888_Modulate_Blend_Scale },
  1.1650      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_RGB888_Scale },
  1.1651 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_ABGR8888_RGB888_Blend },
  1.1652 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_RGB888_Blend_Scale },
  1.1653 +    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_ABGR8888_RGB888_Blend },
  1.1654 +    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_RGB888_Blend_Scale },
  1.1655      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_ABGR8888_RGB888_Modulate },
  1.1656      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_RGB888_Modulate_Scale },
  1.1657 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_ABGR8888_RGB888_Modulate_Blend },
  1.1658 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_RGB888_Modulate_Blend_Scale },
  1.1659 +    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_ABGR8888_RGB888_Modulate_Blend },
  1.1660 +    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_RGB888_Modulate_Blend_Scale },
  1.1661      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_BGR888_Scale },
  1.1662 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_ABGR8888_BGR888_Blend },
  1.1663 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_BGR888_Blend_Scale },
  1.1664 +    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_ABGR8888_BGR888_Blend },
  1.1665 +    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_BGR888_Blend_Scale },
  1.1666      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_ABGR8888_BGR888_Modulate },
  1.1667      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_BGR888_Modulate_Scale },
  1.1668 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_ABGR8888_BGR888_Modulate_Blend },
  1.1669 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_BGR888_Modulate_Blend_Scale },
  1.1670 +    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_ABGR8888_BGR888_Modulate_Blend },
  1.1671 +    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_BGR888_Modulate_Blend_Scale },
  1.1672      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_ARGB8888_Scale },
  1.1673 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_ABGR8888_ARGB8888_Blend },
  1.1674 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_ARGB8888_Blend_Scale },
  1.1675 +    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_ABGR8888_ARGB8888_Blend },
  1.1676 +    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_ARGB8888_Blend_Scale },
  1.1677      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_ABGR8888_ARGB8888_Modulate },
  1.1678      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_ARGB8888_Modulate_Scale },
  1.1679 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_ABGR8888_ARGB8888_Modulate_Blend },
  1.1680 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_ARGB8888_Modulate_Blend_Scale },
  1.1681 +    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_ABGR8888_ARGB8888_Modulate_Blend },
  1.1682 +    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_ABGR8888_ARGB8888_Modulate_Blend_Scale },
  1.1683      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_RGB888_Scale },
  1.1684 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_BGRA8888_RGB888_Blend },
  1.1685 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_RGB888_Blend_Scale },
  1.1686 +    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_BGRA8888_RGB888_Blend },
  1.1687 +    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_RGB888_Blend_Scale },
  1.1688      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_BGRA8888_RGB888_Modulate },
  1.1689      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_RGB888_Modulate_Scale },
  1.1690 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_BGRA8888_RGB888_Modulate_Blend },
  1.1691 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_RGB888_Modulate_Blend_Scale },
  1.1692 +    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_BGRA8888_RGB888_Modulate_Blend },
  1.1693 +    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_RGB888_Modulate_Blend_Scale },
  1.1694      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_BGR888_Scale },
  1.1695 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_BGRA8888_BGR888_Blend },
  1.1696 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_BGR888_Blend_Scale },
  1.1697 +    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_BGRA8888_BGR888_Blend },
  1.1698 +    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_BGR888_Blend_Scale },
  1.1699      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_BGRA8888_BGR888_Modulate },
  1.1700      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_BGR888_Modulate_Scale },
  1.1701 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_BGRA8888_BGR888_Modulate_Blend },
  1.1702 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_BGR888_Modulate_Blend_Scale },
  1.1703 +    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_BGRA8888_BGR888_Modulate_Blend },
  1.1704 +    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_BGR888_Modulate_Blend_Scale },
  1.1705      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_ARGB8888_Scale },
  1.1706 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_BGRA8888_ARGB8888_Blend },
  1.1707 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_ARGB8888_Blend_Scale },
  1.1708 +    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_BGRA8888_ARGB8888_Blend },
  1.1709 +    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_ARGB8888_Blend_Scale },
  1.1710      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA), SDL_CPU_ANY, SDL_Blit_BGRA8888_ARGB8888_Modulate },
  1.1711      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_ARGB8888_Modulate_Scale },
  1.1712 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD), SDL_CPU_ANY, SDL_Blit_BGRA8888_ARGB8888_Modulate_Blend },
  1.1713 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_ARGB8888_Modulate_Blend_Scale },
  1.1714 +    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD), SDL_CPU_ANY, SDL_Blit_BGRA8888_ARGB8888_Modulate_Blend },
  1.1715 +    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_ARGB8888, (SDL_COPY_MODULATE_COLOR | SDL_COPY_MODULATE_ALPHA | SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_NEAREST), SDL_CPU_ANY, SDL_Blit_BGRA8888_ARGB8888_Modulate_Blend_Scale },
  1.1716      { 0, 0, 0, 0, NULL }
  1.1717  };
  1.1718