Take advantage of the existing SDL blitters for normal copy blits.
authorSam Lantinga
Tue, 29 Aug 2006 08:24:16 +0000
changeset 19927387e0514595
parent 1991 3863ba81c1d6
child 1993 7a3889fc9e5d
Take advantage of the existing SDL blitters for normal copy blits.
src/video/SDL_rendercopy.c
src/video/SDL_rendercopy.h
src/video/SDL_renderer_sw.c
src/video/dummy/SDL_nullrender.c
src/video/sdlgenblit.pl
     1.1 --- a/src/video/SDL_rendercopy.c	Mon Aug 28 17:35:15 2006 +0000
     1.2 +++ b/src/video/SDL_rendercopy.c	Tue Aug 29 08:24:16 2006 +0000
     1.3 @@ -42,7 +42,6 @@
     1.4      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGB888_RGB888_Modulate_Scale },
     1.5      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_RGB888_RGB888_Modulate_Blend },
     1.6      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGB888_RGB888_Modulate_Blend_Scale },
     1.7 -    { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, 0, 0, 0,  SDL_RenderCopy_RGB888_BGR888 },
     1.8      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, 0, 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGB888_BGR888_Scale },
     1.9      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_RGB888_BGR888_Blend },
    1.10      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGB888_BGR888_Blend_Scale },
    1.11 @@ -50,7 +49,6 @@
    1.12      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGB888_BGR888_Modulate_Scale },
    1.13      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_RGB888_BGR888_Modulate_Blend },
    1.14      { SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGB888_BGR888_Modulate_Blend_Scale },
    1.15 -    { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, 0, 0, 0,  SDL_RenderCopy_BGR888_RGB888 },
    1.16      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, 0, 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_BGR888_RGB888_Scale },
    1.17      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_BGR888_RGB888_Blend },
    1.18      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_RGB888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_BGR888_RGB888_Blend_Scale },
    1.19 @@ -65,7 +63,6 @@
    1.20      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_BGR888_BGR888_Modulate_Scale },
    1.21      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_BGR888_BGR888_Modulate_Blend },
    1.22      { SDL_PIXELFORMAT_BGR888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_BGR888_BGR888_Modulate_Blend_Scale },
    1.23 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, 0, 0, 0,  SDL_RenderCopy_ARGB8888_RGB888 },
    1.24      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, 0, 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ARGB8888_RGB888_Scale },
    1.25      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_ARGB8888_RGB888_Blend },
    1.26      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ARGB8888_RGB888_Blend_Scale },
    1.27 @@ -73,7 +70,6 @@
    1.28      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ARGB8888_RGB888_Modulate_Scale },
    1.29      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_ARGB8888_RGB888_Modulate_Blend },
    1.30      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ARGB8888_RGB888_Modulate_Blend_Scale },
    1.31 -    { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, 0, 0, 0,  SDL_RenderCopy_ARGB8888_BGR888 },
    1.32      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, 0, 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ARGB8888_BGR888_Scale },
    1.33      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_ARGB8888_BGR888_Blend },
    1.34      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ARGB8888_BGR888_Blend_Scale },
    1.35 @@ -81,7 +77,6 @@
    1.36      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ARGB8888_BGR888_Modulate_Scale },
    1.37      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_ARGB8888_BGR888_Modulate_Blend },
    1.38      { SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ARGB8888_BGR888_Modulate_Blend_Scale },
    1.39 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, 0, 0, 0,  SDL_RenderCopy_RGBA8888_RGB888 },
    1.40      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, 0, 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGBA8888_RGB888_Scale },
    1.41      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_RGBA8888_RGB888_Blend },
    1.42      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGBA8888_RGB888_Blend_Scale },
    1.43 @@ -89,7 +84,6 @@
    1.44      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGBA8888_RGB888_Modulate_Scale },
    1.45      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_RGBA8888_RGB888_Modulate_Blend },
    1.46      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGBA8888_RGB888_Modulate_Blend_Scale },
    1.47 -    { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, 0, 0, 0,  SDL_RenderCopy_RGBA8888_BGR888 },
    1.48      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, 0, 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGBA8888_BGR888_Scale },
    1.49      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_RGBA8888_BGR888_Blend },
    1.50      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGBA8888_BGR888_Blend_Scale },
    1.51 @@ -97,7 +91,6 @@
    1.52      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGBA8888_BGR888_Modulate_Scale },
    1.53      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_RGBA8888_BGR888_Modulate_Blend },
    1.54      { SDL_PIXELFORMAT_RGBA8888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_RGBA8888_BGR888_Modulate_Blend_Scale },
    1.55 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, 0, 0, 0,  SDL_RenderCopy_ABGR8888_RGB888 },
    1.56      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, 0, 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ABGR8888_RGB888_Scale },
    1.57      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_ABGR8888_RGB888_Blend },
    1.58      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ABGR8888_RGB888_Blend_Scale },
    1.59 @@ -105,7 +98,6 @@
    1.60      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ABGR8888_RGB888_Modulate_Scale },
    1.61      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_ABGR8888_RGB888_Modulate_Blend },
    1.62      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ABGR8888_RGB888_Modulate_Blend_Scale },
    1.63 -    { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, 0, 0, 0,  SDL_RenderCopy_ABGR8888_BGR888 },
    1.64      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, 0, 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ABGR8888_BGR888_Scale },
    1.65      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_ABGR8888_BGR888_Blend },
    1.66      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ABGR8888_BGR888_Blend_Scale },
    1.67 @@ -113,7 +105,6 @@
    1.68      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ABGR8888_BGR888_Modulate_Scale },
    1.69      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_ABGR8888_BGR888_Modulate_Blend },
    1.70      { SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_BGR888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_ABGR8888_BGR888_Modulate_Blend_Scale },
    1.71 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, 0, 0, 0,  SDL_RenderCopy_BGRA8888_RGB888 },
    1.72      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, 0, 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_BGRA8888_RGB888_Scale },
    1.73      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_BGRA8888_RGB888_Blend },
    1.74      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_BGRA8888_RGB888_Blend_Scale },
    1.75 @@ -121,7 +112,6 @@
    1.76      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_BGRA8888_RGB888_Modulate_Scale },
    1.77      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_BGRA8888_RGB888_Modulate_Blend },
    1.78      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_RGB888, (SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_BGRA8888_RGB888_Modulate_Blend_Scale },
    1.79 -    { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, 0, 0, 0,  SDL_RenderCopy_BGRA8888_BGR888 },
    1.80      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, 0, 0, SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_BGRA8888_BGR888_Scale },
    1.81      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), 0,  SDL_RenderCopy_BGRA8888_BGR888_Blend },
    1.82      { SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGR888, 0, (SDL_TEXTUREBLENDMODE_MASK | SDL_TEXTUREBLENDMODE_BLEND | SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD), SDL_TEXTURESCALEMODE_FAST,  SDL_RenderCopy_BGRA8888_BGR888_Blend_Scale },
    1.83 @@ -595,30 +585,6 @@
    1.84      return 0;
    1.85  }
    1.86  
    1.87 -int SDL_RenderCopy_RGB888_BGR888(SDL_RenderCopyData *data)
    1.88 -{
    1.89 -    const int flags = data->flags;
    1.90 -    Uint32 pixel;
    1.91 -    Uint32 R, G, B, A;
    1.92 -
    1.93 -    while (data->dst_h--) {
    1.94 -        Uint32 *src = (Uint32 *)data->src;
    1.95 -        Uint32 *dst = (Uint32 *)data->dst;
    1.96 -        int n = data->dst_w;
    1.97 -        while (n--) {
    1.98 -            pixel = *src;
    1.99 -            R = (Uint8)(pixel >> 16); G = (Uint8)(pixel >> 8); B = (Uint8)pixel; A = 0xFF;
   1.100 -            pixel = ((Uint32)B << 16) | ((Uint32)G << 8) | R;
   1.101 -            *dst = pixel;
   1.102 -            ++src;
   1.103 -            ++dst;
   1.104 -        }
   1.105 -        data->src += data->src_pitch;
   1.106 -        data->dst += data->dst_pitch;
   1.107 -    }
   1.108 -    return 0;
   1.109 -}
   1.110 -
   1.111  int SDL_RenderCopy_RGB888_BGR888_Scale(SDL_RenderCopyData *data)
   1.112  {
   1.113      const int flags = data->flags;
   1.114 @@ -1063,30 +1029,6 @@
   1.115      return 0;
   1.116  }
   1.117  
   1.118 -int SDL_RenderCopy_BGR888_RGB888(SDL_RenderCopyData *data)
   1.119 -{
   1.120 -    const int flags = data->flags;
   1.121 -    Uint32 pixel;
   1.122 -    Uint32 R, G, B, A;
   1.123 -
   1.124 -    while (data->dst_h--) {
   1.125 -        Uint32 *src = (Uint32 *)data->src;
   1.126 -        Uint32 *dst = (Uint32 *)data->dst;
   1.127 -        int n = data->dst_w;
   1.128 -        while (n--) {
   1.129 -            pixel = *src;
   1.130 -            B = (Uint8)(pixel >> 16); G = (Uint8)(pixel >> 8); R = (Uint8)pixel; A = 0xFF;
   1.131 -            pixel = ((Uint32)R << 16) | ((Uint32)G << 8) | B;
   1.132 -            *dst = pixel;
   1.133 -            ++src;
   1.134 -            ++dst;
   1.135 -        }
   1.136 -        data->src += data->src_pitch;
   1.137 -        data->dst += data->dst_pitch;
   1.138 -    }
   1.139 -    return 0;
   1.140 -}
   1.141 -
   1.142  int SDL_RenderCopy_BGR888_RGB888_Scale(SDL_RenderCopyData *data)
   1.143  {
   1.144      const int flags = data->flags;
   1.145 @@ -1970,30 +1912,6 @@
   1.146      return 0;
   1.147  }
   1.148  
   1.149 -int SDL_RenderCopy_ARGB8888_RGB888(SDL_RenderCopyData *data)
   1.150 -{
   1.151 -    const int flags = data->flags;
   1.152 -    Uint32 pixel;
   1.153 -    Uint32 R, G, B, A;
   1.154 -
   1.155 -    while (data->dst_h--) {
   1.156 -        Uint32 *src = (Uint32 *)data->src;
   1.157 -        Uint32 *dst = (Uint32 *)data->dst;
   1.158 -        int n = data->dst_w;
   1.159 -        while (n--) {
   1.160 -            pixel = *src;
   1.161 -            A = (Uint8)(pixel >> 24); R = (Uint8)(pixel >> 16); G = (Uint8)(pixel >> 8); B = (Uint8)pixel;
   1.162 -            pixel = ((Uint32)R << 16) | ((Uint32)G << 8) | B;
   1.163 -            *dst = pixel;
   1.164 -            ++src;
   1.165 -            ++dst;
   1.166 -        }
   1.167 -        data->src += data->src_pitch;
   1.168 -        data->dst += data->dst_pitch;
   1.169 -    }
   1.170 -    return 0;
   1.171 -}
   1.172 -
   1.173  int SDL_RenderCopy_ARGB8888_RGB888_Scale(SDL_RenderCopyData *data)
   1.174  {
   1.175      const int flags = data->flags;
   1.176 @@ -2438,30 +2356,6 @@
   1.177      return 0;
   1.178  }
   1.179  
   1.180 -int SDL_RenderCopy_ARGB8888_BGR888(SDL_RenderCopyData *data)
   1.181 -{
   1.182 -    const int flags = data->flags;
   1.183 -    Uint32 pixel;
   1.184 -    Uint32 R, G, B, A;
   1.185 -
   1.186 -    while (data->dst_h--) {
   1.187 -        Uint32 *src = (Uint32 *)data->src;
   1.188 -        Uint32 *dst = (Uint32 *)data->dst;
   1.189 -        int n = data->dst_w;
   1.190 -        while (n--) {
   1.191 -            pixel = *src;
   1.192 -            A = (Uint8)(pixel >> 24); R = (Uint8)(pixel >> 16); G = (Uint8)(pixel >> 8); B = (Uint8)pixel;
   1.193 -            pixel = ((Uint32)B << 16) | ((Uint32)G << 8) | R;
   1.194 -            *dst = pixel;
   1.195 -            ++src;
   1.196 -            ++dst;
   1.197 -        }
   1.198 -        data->src += data->src_pitch;
   1.199 -        data->dst += data->dst_pitch;
   1.200 -    }
   1.201 -    return 0;
   1.202 -}
   1.203 -
   1.204  int SDL_RenderCopy_ARGB8888_BGR888_Scale(SDL_RenderCopyData *data)
   1.205  {
   1.206      const int flags = data->flags;
   1.207 @@ -2906,30 +2800,6 @@
   1.208      return 0;
   1.209  }
   1.210  
   1.211 -int SDL_RenderCopy_RGBA8888_RGB888(SDL_RenderCopyData *data)
   1.212 -{
   1.213 -    const int flags = data->flags;
   1.214 -    Uint32 pixel;
   1.215 -    Uint32 R, G, B, A;
   1.216 -
   1.217 -    while (data->dst_h--) {
   1.218 -        Uint32 *src = (Uint32 *)data->src;
   1.219 -        Uint32 *dst = (Uint32 *)data->dst;
   1.220 -        int n = data->dst_w;
   1.221 -        while (n--) {
   1.222 -            pixel = *src;
   1.223 -            R = (Uint8)(pixel >> 24); G = (Uint8)(pixel >> 16); B = (Uint8)(pixel >> 8); A = (Uint8)pixel;
   1.224 -            pixel = ((Uint32)R << 16) | ((Uint32)G << 8) | B;
   1.225 -            *dst = pixel;
   1.226 -            ++src;
   1.227 -            ++dst;
   1.228 -        }
   1.229 -        data->src += data->src_pitch;
   1.230 -        data->dst += data->dst_pitch;
   1.231 -    }
   1.232 -    return 0;
   1.233 -}
   1.234 -
   1.235  int SDL_RenderCopy_RGBA8888_RGB888_Scale(SDL_RenderCopyData *data)
   1.236  {
   1.237      const int flags = data->flags;
   1.238 @@ -3374,30 +3244,6 @@
   1.239      return 0;
   1.240  }
   1.241  
   1.242 -int SDL_RenderCopy_RGBA8888_BGR888(SDL_RenderCopyData *data)
   1.243 -{
   1.244 -    const int flags = data->flags;
   1.245 -    Uint32 pixel;
   1.246 -    Uint32 R, G, B, A;
   1.247 -
   1.248 -    while (data->dst_h--) {
   1.249 -        Uint32 *src = (Uint32 *)data->src;
   1.250 -        Uint32 *dst = (Uint32 *)data->dst;
   1.251 -        int n = data->dst_w;
   1.252 -        while (n--) {
   1.253 -            pixel = *src;
   1.254 -            R = (Uint8)(pixel >> 24); G = (Uint8)(pixel >> 16); B = (Uint8)(pixel >> 8); A = (Uint8)pixel;
   1.255 -            pixel = ((Uint32)B << 16) | ((Uint32)G << 8) | R;
   1.256 -            *dst = pixel;
   1.257 -            ++src;
   1.258 -            ++dst;
   1.259 -        }
   1.260 -        data->src += data->src_pitch;
   1.261 -        data->dst += data->dst_pitch;
   1.262 -    }
   1.263 -    return 0;
   1.264 -}
   1.265 -
   1.266  int SDL_RenderCopy_RGBA8888_BGR888_Scale(SDL_RenderCopyData *data)
   1.267  {
   1.268      const int flags = data->flags;
   1.269 @@ -3842,30 +3688,6 @@
   1.270      return 0;
   1.271  }
   1.272  
   1.273 -int SDL_RenderCopy_ABGR8888_RGB888(SDL_RenderCopyData *data)
   1.274 -{
   1.275 -    const int flags = data->flags;
   1.276 -    Uint32 pixel;
   1.277 -    Uint32 R, G, B, A;
   1.278 -
   1.279 -    while (data->dst_h--) {
   1.280 -        Uint32 *src = (Uint32 *)data->src;
   1.281 -        Uint32 *dst = (Uint32 *)data->dst;
   1.282 -        int n = data->dst_w;
   1.283 -        while (n--) {
   1.284 -            pixel = *src;
   1.285 -            A = (Uint8)(pixel >> 24); B = (Uint8)(pixel >> 16); G = (Uint8)(pixel >> 8); R = (Uint8)pixel;
   1.286 -            pixel = ((Uint32)R << 16) | ((Uint32)G << 8) | B;
   1.287 -            *dst = pixel;
   1.288 -            ++src;
   1.289 -            ++dst;
   1.290 -        }
   1.291 -        data->src += data->src_pitch;
   1.292 -        data->dst += data->dst_pitch;
   1.293 -    }
   1.294 -    return 0;
   1.295 -}
   1.296 -
   1.297  int SDL_RenderCopy_ABGR8888_RGB888_Scale(SDL_RenderCopyData *data)
   1.298  {
   1.299      const int flags = data->flags;
   1.300 @@ -4310,30 +4132,6 @@
   1.301      return 0;
   1.302  }
   1.303  
   1.304 -int SDL_RenderCopy_ABGR8888_BGR888(SDL_RenderCopyData *data)
   1.305 -{
   1.306 -    const int flags = data->flags;
   1.307 -    Uint32 pixel;
   1.308 -    Uint32 R, G, B, A;
   1.309 -
   1.310 -    while (data->dst_h--) {
   1.311 -        Uint32 *src = (Uint32 *)data->src;
   1.312 -        Uint32 *dst = (Uint32 *)data->dst;
   1.313 -        int n = data->dst_w;
   1.314 -        while (n--) {
   1.315 -            pixel = *src;
   1.316 -            A = (Uint8)(pixel >> 24); B = (Uint8)(pixel >> 16); G = (Uint8)(pixel >> 8); R = (Uint8)pixel;
   1.317 -            pixel = ((Uint32)B << 16) | ((Uint32)G << 8) | R;
   1.318 -            *dst = pixel;
   1.319 -            ++src;
   1.320 -            ++dst;
   1.321 -        }
   1.322 -        data->src += data->src_pitch;
   1.323 -        data->dst += data->dst_pitch;
   1.324 -    }
   1.325 -    return 0;
   1.326 -}
   1.327 -
   1.328  int SDL_RenderCopy_ABGR8888_BGR888_Scale(SDL_RenderCopyData *data)
   1.329  {
   1.330      const int flags = data->flags;
   1.331 @@ -4778,30 +4576,6 @@
   1.332      return 0;
   1.333  }
   1.334  
   1.335 -int SDL_RenderCopy_BGRA8888_RGB888(SDL_RenderCopyData *data)
   1.336 -{
   1.337 -    const int flags = data->flags;
   1.338 -    Uint32 pixel;
   1.339 -    Uint32 R, G, B, A;
   1.340 -
   1.341 -    while (data->dst_h--) {
   1.342 -        Uint32 *src = (Uint32 *)data->src;
   1.343 -        Uint32 *dst = (Uint32 *)data->dst;
   1.344 -        int n = data->dst_w;
   1.345 -        while (n--) {
   1.346 -            pixel = *src;
   1.347 -            B = (Uint8)(pixel >> 24); G = (Uint8)(pixel >> 16); R = (Uint8)(pixel >> 8); A = (Uint8)pixel;
   1.348 -            pixel = ((Uint32)R << 16) | ((Uint32)G << 8) | B;
   1.349 -            *dst = pixel;
   1.350 -            ++src;
   1.351 -            ++dst;
   1.352 -        }
   1.353 -        data->src += data->src_pitch;
   1.354 -        data->dst += data->dst_pitch;
   1.355 -    }
   1.356 -    return 0;
   1.357 -}
   1.358 -
   1.359  int SDL_RenderCopy_BGRA8888_RGB888_Scale(SDL_RenderCopyData *data)
   1.360  {
   1.361      const int flags = data->flags;
   1.362 @@ -5246,30 +5020,6 @@
   1.363      return 0;
   1.364  }
   1.365  
   1.366 -int SDL_RenderCopy_BGRA8888_BGR888(SDL_RenderCopyData *data)
   1.367 -{
   1.368 -    const int flags = data->flags;
   1.369 -    Uint32 pixel;
   1.370 -    Uint32 R, G, B, A;
   1.371 -
   1.372 -    while (data->dst_h--) {
   1.373 -        Uint32 *src = (Uint32 *)data->src;
   1.374 -        Uint32 *dst = (Uint32 *)data->dst;
   1.375 -        int n = data->dst_w;
   1.376 -        while (n--) {
   1.377 -            pixel = *src;
   1.378 -            B = (Uint8)(pixel >> 24); G = (Uint8)(pixel >> 16); R = (Uint8)(pixel >> 8); A = (Uint8)pixel;
   1.379 -            pixel = ((Uint32)B << 16) | ((Uint32)G << 8) | R;
   1.380 -            *dst = pixel;
   1.381 -            ++src;
   1.382 -            ++dst;
   1.383 -        }
   1.384 -        data->src += data->src_pitch;
   1.385 -        data->dst += data->dst_pitch;
   1.386 -    }
   1.387 -    return 0;
   1.388 -}
   1.389 -
   1.390  int SDL_RenderCopy_BGRA8888_BGR888_Scale(SDL_RenderCopyData *data)
   1.391  {
   1.392      const int flags = data->flags;
     2.1 --- a/src/video/SDL_rendercopy.h	Mon Aug 28 17:35:15 2006 +0000
     2.2 +++ b/src/video/SDL_rendercopy.h	Tue Aug 29 08:24:16 2006 +0000
     2.3 @@ -55,7 +55,6 @@
     2.4  extern int SDLCALL SDL_RenderCopy_RGB888_RGB888_Modulate_Scale(SDL_RenderCopyData *data);
     2.5  extern int SDLCALL SDL_RenderCopy_RGB888_RGB888_Modulate_Blend(SDL_RenderCopyData *data);
     2.6  extern int SDLCALL SDL_RenderCopy_RGB888_RGB888_Modulate_Blend_Scale(SDL_RenderCopyData *data);
     2.7 -extern int SDLCALL SDL_RenderCopy_RGB888_BGR888(SDL_RenderCopyData *data);
     2.8  extern int SDLCALL SDL_RenderCopy_RGB888_BGR888_Scale(SDL_RenderCopyData *data);
     2.9  extern int SDLCALL SDL_RenderCopy_RGB888_BGR888_Blend(SDL_RenderCopyData *data);
    2.10  extern int SDLCALL SDL_RenderCopy_RGB888_BGR888_Blend_Scale(SDL_RenderCopyData *data);
    2.11 @@ -63,7 +62,6 @@
    2.12  extern int SDLCALL SDL_RenderCopy_RGB888_BGR888_Modulate_Scale(SDL_RenderCopyData *data);
    2.13  extern int SDLCALL SDL_RenderCopy_RGB888_BGR888_Modulate_Blend(SDL_RenderCopyData *data);
    2.14  extern int SDLCALL SDL_RenderCopy_RGB888_BGR888_Modulate_Blend_Scale(SDL_RenderCopyData *data);
    2.15 -extern int SDLCALL SDL_RenderCopy_BGR888_RGB888(SDL_RenderCopyData *data);
    2.16  extern int SDLCALL SDL_RenderCopy_BGR888_RGB888_Scale(SDL_RenderCopyData *data);
    2.17  extern int SDLCALL SDL_RenderCopy_BGR888_RGB888_Blend(SDL_RenderCopyData *data);
    2.18  extern int SDLCALL SDL_RenderCopy_BGR888_RGB888_Blend_Scale(SDL_RenderCopyData *data);
    2.19 @@ -78,7 +76,6 @@
    2.20  extern int SDLCALL SDL_RenderCopy_BGR888_BGR888_Modulate_Scale(SDL_RenderCopyData *data);
    2.21  extern int SDLCALL SDL_RenderCopy_BGR888_BGR888_Modulate_Blend(SDL_RenderCopyData *data);
    2.22  extern int SDLCALL SDL_RenderCopy_BGR888_BGR888_Modulate_Blend_Scale(SDL_RenderCopyData *data);
    2.23 -extern int SDLCALL SDL_RenderCopy_ARGB8888_RGB888(SDL_RenderCopyData *data);
    2.24  extern int SDLCALL SDL_RenderCopy_ARGB8888_RGB888_Scale(SDL_RenderCopyData *data);
    2.25  extern int SDLCALL SDL_RenderCopy_ARGB8888_RGB888_Blend(SDL_RenderCopyData *data);
    2.26  extern int SDLCALL SDL_RenderCopy_ARGB8888_RGB888_Blend_Scale(SDL_RenderCopyData *data);
    2.27 @@ -86,7 +83,6 @@
    2.28  extern int SDLCALL SDL_RenderCopy_ARGB8888_RGB888_Modulate_Scale(SDL_RenderCopyData *data);
    2.29  extern int SDLCALL SDL_RenderCopy_ARGB8888_RGB888_Modulate_Blend(SDL_RenderCopyData *data);
    2.30  extern int SDLCALL SDL_RenderCopy_ARGB8888_RGB888_Modulate_Blend_Scale(SDL_RenderCopyData *data);
    2.31 -extern int SDLCALL SDL_RenderCopy_ARGB8888_BGR888(SDL_RenderCopyData *data);
    2.32  extern int SDLCALL SDL_RenderCopy_ARGB8888_BGR888_Scale(SDL_RenderCopyData *data);
    2.33  extern int SDLCALL SDL_RenderCopy_ARGB8888_BGR888_Blend(SDL_RenderCopyData *data);
    2.34  extern int SDLCALL SDL_RenderCopy_ARGB8888_BGR888_Blend_Scale(SDL_RenderCopyData *data);
    2.35 @@ -94,7 +90,6 @@
    2.36  extern int SDLCALL SDL_RenderCopy_ARGB8888_BGR888_Modulate_Scale(SDL_RenderCopyData *data);
    2.37  extern int SDLCALL SDL_RenderCopy_ARGB8888_BGR888_Modulate_Blend(SDL_RenderCopyData *data);
    2.38  extern int SDLCALL SDL_RenderCopy_ARGB8888_BGR888_Modulate_Blend_Scale(SDL_RenderCopyData *data);
    2.39 -extern int SDLCALL SDL_RenderCopy_RGBA8888_RGB888(SDL_RenderCopyData *data);
    2.40  extern int SDLCALL SDL_RenderCopy_RGBA8888_RGB888_Scale(SDL_RenderCopyData *data);
    2.41  extern int SDLCALL SDL_RenderCopy_RGBA8888_RGB888_Blend(SDL_RenderCopyData *data);
    2.42  extern int SDLCALL SDL_RenderCopy_RGBA8888_RGB888_Blend_Scale(SDL_RenderCopyData *data);
    2.43 @@ -102,7 +97,6 @@
    2.44  extern int SDLCALL SDL_RenderCopy_RGBA8888_RGB888_Modulate_Scale(SDL_RenderCopyData *data);
    2.45  extern int SDLCALL SDL_RenderCopy_RGBA8888_RGB888_Modulate_Blend(SDL_RenderCopyData *data);
    2.46  extern int SDLCALL SDL_RenderCopy_RGBA8888_RGB888_Modulate_Blend_Scale(SDL_RenderCopyData *data);
    2.47 -extern int SDLCALL SDL_RenderCopy_RGBA8888_BGR888(SDL_RenderCopyData *data);
    2.48  extern int SDLCALL SDL_RenderCopy_RGBA8888_BGR888_Scale(SDL_RenderCopyData *data);
    2.49  extern int SDLCALL SDL_RenderCopy_RGBA8888_BGR888_Blend(SDL_RenderCopyData *data);
    2.50  extern int SDLCALL SDL_RenderCopy_RGBA8888_BGR888_Blend_Scale(SDL_RenderCopyData *data);
    2.51 @@ -110,7 +104,6 @@
    2.52  extern int SDLCALL SDL_RenderCopy_RGBA8888_BGR888_Modulate_Scale(SDL_RenderCopyData *data);
    2.53  extern int SDLCALL SDL_RenderCopy_RGBA8888_BGR888_Modulate_Blend(SDL_RenderCopyData *data);
    2.54  extern int SDLCALL SDL_RenderCopy_RGBA8888_BGR888_Modulate_Blend_Scale(SDL_RenderCopyData *data);
    2.55 -extern int SDLCALL SDL_RenderCopy_ABGR8888_RGB888(SDL_RenderCopyData *data);
    2.56  extern int SDLCALL SDL_RenderCopy_ABGR8888_RGB888_Scale(SDL_RenderCopyData *data);
    2.57  extern int SDLCALL SDL_RenderCopy_ABGR8888_RGB888_Blend(SDL_RenderCopyData *data);
    2.58  extern int SDLCALL SDL_RenderCopy_ABGR8888_RGB888_Blend_Scale(SDL_RenderCopyData *data);
    2.59 @@ -118,7 +111,6 @@
    2.60  extern int SDLCALL SDL_RenderCopy_ABGR8888_RGB888_Modulate_Scale(SDL_RenderCopyData *data);
    2.61  extern int SDLCALL SDL_RenderCopy_ABGR8888_RGB888_Modulate_Blend(SDL_RenderCopyData *data);
    2.62  extern int SDLCALL SDL_RenderCopy_ABGR8888_RGB888_Modulate_Blend_Scale(SDL_RenderCopyData *data);
    2.63 -extern int SDLCALL SDL_RenderCopy_ABGR8888_BGR888(SDL_RenderCopyData *data);
    2.64  extern int SDLCALL SDL_RenderCopy_ABGR8888_BGR888_Scale(SDL_RenderCopyData *data);
    2.65  extern int SDLCALL SDL_RenderCopy_ABGR8888_BGR888_Blend(SDL_RenderCopyData *data);
    2.66  extern int SDLCALL SDL_RenderCopy_ABGR8888_BGR888_Blend_Scale(SDL_RenderCopyData *data);
    2.67 @@ -126,7 +118,6 @@
    2.68  extern int SDLCALL SDL_RenderCopy_ABGR8888_BGR888_Modulate_Scale(SDL_RenderCopyData *data);
    2.69  extern int SDLCALL SDL_RenderCopy_ABGR8888_BGR888_Modulate_Blend(SDL_RenderCopyData *data);
    2.70  extern int SDLCALL SDL_RenderCopy_ABGR8888_BGR888_Modulate_Blend_Scale(SDL_RenderCopyData *data);
    2.71 -extern int SDLCALL SDL_RenderCopy_BGRA8888_RGB888(SDL_RenderCopyData *data);
    2.72  extern int SDLCALL SDL_RenderCopy_BGRA8888_RGB888_Scale(SDL_RenderCopyData *data);
    2.73  extern int SDLCALL SDL_RenderCopy_BGRA8888_RGB888_Blend(SDL_RenderCopyData *data);
    2.74  extern int SDLCALL SDL_RenderCopy_BGRA8888_RGB888_Blend_Scale(SDL_RenderCopyData *data);
    2.75 @@ -134,7 +125,6 @@
    2.76  extern int SDLCALL SDL_RenderCopy_BGRA8888_RGB888_Modulate_Scale(SDL_RenderCopyData *data);
    2.77  extern int SDLCALL SDL_RenderCopy_BGRA8888_RGB888_Modulate_Blend(SDL_RenderCopyData *data);
    2.78  extern int SDLCALL SDL_RenderCopy_BGRA8888_RGB888_Modulate_Blend_Scale(SDL_RenderCopyData *data);
    2.79 -extern int SDLCALL SDL_RenderCopy_BGRA8888_BGR888(SDL_RenderCopyData *data);
    2.80  extern int SDLCALL SDL_RenderCopy_BGRA8888_BGR888_Scale(SDL_RenderCopyData *data);
    2.81  extern int SDLCALL SDL_RenderCopy_BGRA8888_BGR888_Blend(SDL_RenderCopyData *data);
    2.82  extern int SDLCALL SDL_RenderCopy_BGRA8888_BGR888_Blend_Scale(SDL_RenderCopyData *data);
     3.1 --- a/src/video/SDL_renderer_sw.c	Mon Aug 28 17:35:15 2006 +0000
     3.2 +++ b/src/video/SDL_renderer_sw.c	Tue Aug 29 08:24:16 2006 +0000
     3.3 @@ -421,9 +421,18 @@
     3.4      SW_RenderData *data = (SW_RenderData *) renderer->driverdata;
     3.5      SDL_Surface *surface = (SDL_Surface *) texture->driverdata;
     3.6  
     3.7 -    surface->userdata =
     3.8 -        SDL_GetRenderCopyFunc(texture->format, data->format, texture->modMode,
     3.9 -                              texture->blendMode, texture->scaleMode);
    3.10 +    /* We only need a special copy function for advanced features */
    3.11 +    if (texture->modMode
    3.12 +        || (texture->
    3.13 +            blendMode & (SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD))
    3.14 +        || texture->scaleMode) {
    3.15 +        surface->userdata =
    3.16 +            SDL_GetRenderCopyFunc(texture->format, data->format,
    3.17 +                                  texture->modMode, texture->blendMode,
    3.18 +                                  texture->scaleMode);
    3.19 +    } else {
    3.20 +        surface->userdata = NULL;
    3.21 +    }
    3.22  }
    3.23  
    3.24  static int
     4.1 --- a/src/video/dummy/SDL_nullrender.c	Mon Aug 28 17:35:15 2006 +0000
     4.2 +++ b/src/video/dummy/SDL_nullrender.c	Tue Aug 29 08:24:16 2006 +0000
     4.3 @@ -280,10 +280,19 @@
     4.4      SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window);
     4.5      SDL_Surface *surface = (SDL_Surface *) texture->driverdata;
     4.6  
     4.7 -    surface->userdata =
     4.8 -        SDL_GetRenderCopyFunc(texture->format, display->current_mode.format,
     4.9 -                              texture->modMode, texture->blendMode,
    4.10 -                              texture->scaleMode);
    4.11 +    /* We only need a special copy function for advanced features */
    4.12 +    if (texture->modMode
    4.13 +        || (texture->
    4.14 +            blendMode & (SDL_TEXTUREBLENDMODE_ADD | SDL_TEXTUREBLENDMODE_MOD))
    4.15 +        || texture->scaleMode) {
    4.16 +        surface->userdata =
    4.17 +            SDL_GetRenderCopyFunc(texture->format,
    4.18 +                                  display->current_mode.format,
    4.19 +                                  texture->modMode, texture->blendMode,
    4.20 +                                  texture->scaleMode);
    4.21 +    } else {
    4.22 +        surface->userdata = NULL;
    4.23 +    }
    4.24  }
    4.25  
    4.26  static int
     5.1 --- a/src/video/sdlgenblit.pl	Mon Aug 28 17:35:15 2006 +0000
     5.2 +++ b/src/video/sdlgenblit.pl	Tue Aug 29 08:24:16 2006 +0000
     5.3 @@ -398,7 +398,7 @@
     5.4      for (my $modulate = 0; $modulate <= 1; ++$modulate) {
     5.5          for (my $blend = 0; $blend <= 1; ++$blend) {
     5.6              for (my $scale = 0; $scale <= 1; ++$scale) {
     5.7 -                if ( $modulate != 0 || $blend != 0 || $scale != 0 || $src ne $dst ) {
     5.8 +                if ( $modulate || $blend || $scale ) {
     5.9                      output_copyfuncname("extern int SDLCALL", $src, $dst, $modulate, $blend, $scale, 1, ";\n");
    5.10                  }
    5.11              }
    5.12 @@ -434,7 +434,7 @@
    5.13              for (my $modulate = 0; $modulate <= 1; ++$modulate) {
    5.14                  for (my $blend = 0; $blend <= 1; ++$blend) {
    5.15                      for (my $scale = 0; $scale <= 1; ++$scale) {
    5.16 -                        if ( $modulate != 0 || $blend != 0 || $scale != 0 || $src ne $dst ) {
    5.17 +                        if ( $modulate || $blend || $scale ) {
    5.18                              print FILE "    { SDL_PIXELFORMAT_$src, SDL_PIXELFORMAT_$dst, ";
    5.19                              if ( $modulate ) {
    5.20                                  print FILE "(SDL_TEXTUREMODULATE_COLOR | SDL_TEXTUREMODULATE_ALPHA), ";
    5.21 @@ -497,7 +497,7 @@
    5.22      for (my $modulate = 0; $modulate <= 1; ++$modulate) {
    5.23          for (my $blend = 0; $blend <= 1; ++$blend) {
    5.24              for (my $scale = 0; $scale <= 1; ++$scale) {
    5.25 -                if ( $modulate != 0 || $blend != 0 || $scale != 0 || $src ne $dst ) {
    5.26 +                if ( $modulate || $blend || $scale ) {
    5.27                      output_copyfunc($src, $dst, $modulate, $blend, $scale);
    5.28                  }
    5.29              }