Changeset 8830 for trunk/src


Ignore:
Timestamp:
Jul 3, 2002, 5:44:39 PM (23 years ago)
Author:
sandervl
Message:

MoveRect fixes (src & dest surfaces the same + overlap); fill fixes + optimizations

Location:
trunk/src/ddraw
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/ddraw/OS2SURFACE.CPP

    r8821 r8830  
    1 /* $Id: OS2SURFACE.CPP,v 1.45 2002-07-02 09:55:12 sandervl Exp $ */
     1/* $Id: OS2SURFACE.CPP,v 1.46 2002-07-03 15:44:37 sandervl Exp $ */
    22
    33/*
     
    59755975  static char Scanline[6400];  // sufficient for 1600 at 32 bit
    59765976
     5977  if(sizeof(Scanline) < lPitch) {
     5978      DebugInt3();      //oh, oh
     5979      return;
     5980  }
    59775981  // Bridge, we may got a problem ;)
    59785982  // Check for Overlapping Rects
     
    59815985  pSrcPos = pBuffer;
    59825986
    5983   if(lpDestRect->top <= lpSrcRect->top)
     5987  if(lpDestRect->top > lpSrcRect->top)
    59845988  {
    59855989    //  +-------+     +-------+      +-------+
    5986     //  |S      |     |S      |      |S      |  +---+---+---+
    5987     //  |   +---|---+ +-------+  +---|---+   |  |S/D|D/S|   |
    5988     //  |   | D |   | | D     |  | D |   |   |  |   |   |   |
    5989     //  +-------+   | +-------+  |   +-------+  |   |   |   |
    5990     //      |       | |       |  |       |      +---+---+---+
     5990    //  |S      |     |S      |      |S      | 
     5991    //  |   +---|---+ +-------+  +---|---+   | 
     5992    //  |   | D |   | | D     |  | D |   |   | 
     5993    //  +-------+   | +-------+  |   +-------+ 
     5994    //      |       | |       |  |       |     
    59915995    //      +-------+ +-------+  +-------+
    59925996    //
    59935997    // We got one of the above cases (or no overlapping) so copy from bottom up
    59945998
    5995     pBltPos += (lpDestRect->left * bpp) + lPitch * lpDestRect->top;
     5999    pBltPos += (lpDestRect->left * bpp) + lPitch * (lpDestRect->bottom-1);
    59966000    pSrcPos += (lpSrcRect->left * bpp)  + lPitch * (lpSrcRect->bottom-1);
    59976001    BlitHeight = lpDestRect->bottom - lpDestRect->top;
     
    60026006      memcpy(Scanline,pSrcPos,BlitWidth);
    60036007      memcpy(pBltPos,Scanline,BlitWidth);
    6004       pBltPos += lPitch;
     6008      pBltPos -= lPitch;
    60056009      pSrcPos -= lPitch;
    60066010      if(! (--BlitHeight))
     
    60126016    //  +-------+     +-------+      +-------+
    60136017    //  | D     |     | D     |      | D     |
    6014     //  |   +---|---+ +-------+  +---|---+   |
    6015     //  |   |S  |   | |S      |  |S  |   |   |
    6016     //  +-------+   | +-------+  |   +-------+
    6017     //      |       | |       |  |       |
    6018     //      +-------+ +-------+  +-------+
     6018    //  |   +---|---+ +-------+  +---|---+   |  +---+---+---+
     6019    //  |   |S  |   | |S      |  |S  |   |   |  |S  |S/D| D |
     6020    //  +-------+   | +-------+  |   +-------+  |   |   |   |
     6021    //      |       | |       |  |       |      |   |   |   |
     6022    //      +-------+ +-------+  +-------+      +---+---+---+
    60196023    //
    60206024    // We got one of the above cases so copy top down
  • trunk/src/ddraw/asmutil.asm

    r8825 r8830  
    1 ; $Id: asmutil.asm,v 1.11 2002-07-02 10:38:40 sandervl Exp $
     1; $Id: asmutil.asm,v 1.12 2002-07-03 15:44:38 sandervl Exp $
    22
    33;
     
    20972097_MemFlip   ENDP
    20982098
     2099
     2100        public _ddmemfill16
     2101_ddmemfill16 proc near
     2102
     2103DEST      equ  [ebp+8]
     2104VALUE     equ  [ebp+12]
     2105BUF_LEN   equ  [ebp+16]
     2106
     2107        push   ebp
     2108        mov    ebp,esp
     2109        push   ecx
     2110        push   edi
     2111
     2112        mov    ecx, BUF_LEN
     2113        shr    ecx, 2           ;length in dwords
     2114
     2115        mov    edi, DEST
     2116        mov    eax, VALUE
     2117
     2118        cld
     2119        rep    stosd
     2120
     2121        mov    ecx,BUF_LEN
     2122        and    ecx,03h
     2123        shr    ecx, 1           ;length in words
     2124
     2125        rep    stosw
     2126
     2127        pop    edi
     2128        pop    ecx
     2129        pop    ebp
     2130        ret
     2131_ddmemfill16 endp
     2132
     2133        public _ddmemfill32
     2134_ddmemfill32 proc near
     2135
     2136DEST      equ  [ebp+8]
     2137VALUE     equ  [ebp+12]
     2138BUF_LEN   equ  [ebp+16]
     2139
     2140        push   ebp
     2141        mov    ebp,esp
     2142        push   ecx
     2143        push   edi
     2144
     2145        mov    ecx, BUF_LEN
     2146        shr    ecx, 2           ;length in dwords
     2147
     2148        mov    edi, DEST
     2149        mov    eax, VALUE
     2150
     2151        cld
     2152        rep    stosd
     2153
     2154        pop    edi
     2155        pop    ecx
     2156        pop    ebp
     2157        ret
     2158_ddmemfill32 endp
     2159
    20992160CODE32          ENDS
    21002161
  • trunk/src/ddraw/asmutil.h

    r8825 r8830  
    1 /* $Id: asmutil.h,v 1.8 2002-07-02 10:38:41 sandervl Exp $ */
     1/* $Id: asmutil.h,v 1.9 2002-07-03 15:44:38 sandervl Exp $ */
    22
    33/*
     
    2828extern int __cdecl CPUHasMMX();
    2929
     30extern void CDECL ddmemfill16(PBYTE dest, ULONG value, ULONG size);
     31extern void CDECL ddmemfill32(PBYTE dest, ULONG value, ULONG size);
     32
    3033#ifdef __cplusplus
    3134}
  • trunk/src/ddraw/fillfunc.cpp

    r8821 r8830  
    1 /* $Id: fillfunc.cpp,v 1.7 2002-07-02 09:55:13 sandervl Exp $ */
     1/* $Id: fillfunc.cpp,v 1.8 2002-07-03 15:44:39 sandervl Exp $ */
    22
    33/*
     
    1616#include <misc.h>
    1717#include "fillfunc.h"
     18#include "asmutil.h"
    1819
    1920//
     
    2122//
    2223
    23 #ifndef USE_ASM
    24 void __cdecl Fill8( char* pDst,
    25                     DWORD dwWidth,
    26                     DWORD dwHeight,
    27                     DWORD dwPitch,
    28                     DWORD dwColor)
    29 {
    30   DWORD *pColor;
    31   char  *pFillPos;
    32   int i;
    33   dprintf(("DDRAW:Fill8 with %08X\n",dwColor));
    34 
    35   // First Fill First row with the color
    36 
    37   for( i=0,pColor = (DWORD*)pDst;i<(dwWidth/4);i++)
    38     pColor[i] = dwColor;
    39 
    40   if(dwWidth % 4)
    41   {
    42     if(i==0) i = 1;     //or else next line will corrupt heap
    43     pFillPos = (char*) (&pColor[i-1]);
    44     for(i=0;i<dwWidth % 4;i++)
    45       pFillPos[i] = (UCHAR) dwColor;
     24//*****************************************************************************
     25//*****************************************************************************
     26void CDECL Fill8(char* pDst, DWORD dwWidth, DWORD dwHeight, DWORD dwPitch, DWORD dwColor)
     27{
     28    DWORD *pColor;
     29    char  *pFillPos;
     30   
     31    dprintf(("DDRAW:Fill8 %x (%d,%d) %d with %x \n", pDst, dwWidth, dwHeight, dwPitch, dwColor));
     32
     33    if(dwWidth == dwPitch)
     34    {
     35        // Width = Pitch => fill buffer so no need to take care of lines
     36        memset(pDst, dwColor, dwWidth*dwHeight);
     37    }
     38    else
     39    {
     40        pFillPos = pDst;
     41
     42        while(dwHeight)
     43        {
     44            memset(pFillPos, dwColor, dwWidth);
     45            pFillPos += dwPitch;
     46            dwHeight--;
     47        }
     48    }
     49}
     50//*****************************************************************************
     51//*****************************************************************************
     52void CDECL Fill16(char* pDst, DWORD dwWidth, DWORD dwHeight, DWORD dwPitch, DWORD dwColor)
     53{
     54    DWORD *pColor;
     55    char  *pFillPos;
     56   
     57    dprintf(("DDRAW:Fill16 %x (%d,%d) %d with %x \n", pDst, dwWidth, dwHeight, dwPitch, dwColor));
     58
     59    dwWidth *=2;
     60
     61    if(dwWidth == dwPitch)
     62    {
     63        // Width = Pitch => fill buffer so no need to take care of lines
     64        ddmemfill16(pDst, dwColor, dwWidth*dwHeight);
     65    }
     66    else
     67    {
     68        pFillPos = pDst;
     69
     70        while(dwHeight)
     71        {
     72            ddmemfill16(pFillPos, dwColor, dwWidth);
     73            pFillPos += dwPitch;
     74            dwHeight--;
     75        }
     76    }
     77}
     78//*****************************************************************************
     79//*****************************************************************************
     80void CDECL Fill24(char* pDst, DWORD dwWidth, DWORD dwHeight, DWORD dwPitch, DWORD dwColor)
     81{
     82    DWORD *pColor;
     83    char  *pFillPos;
     84    int i;
     85
     86    dprintf(("DDRAW:Fill24 %x (%d,%d) %d with %x \n", pDst, dwWidth, dwHeight, dwPitch, dwColor));
     87
     88    // First Fill First row with the color
     89
     90    for(i=0 ; i<dwWidth ; i++)
     91    {
     92        pColor = (DWORD*)(pDst+(i*3));
     93        *pColor = dwColor;
     94    }
     95    dwWidth *=3;
     96    dwHeight--;
     97
     98    if(dwWidth == dwPitch)
     99    {
     100        // Width = Pitch => fill buffer so no need to take care of lines
     101        memcpy(pDst+dwPitch, pDst, dwWidth*dwHeight);
     102    }
     103    else
     104    {
     105        pFillPos = pDst+dwPitch;
     106        while(dwHeight)
     107        {
     108            memcpy(pFillPos,pDst,dwWidth);
     109            pFillPos += dwPitch;
     110            dwHeight--;
     111        }
     112    }
     113}
     114//*****************************************************************************
     115//*****************************************************************************
     116void CDECL Fill32(char* pDst, DWORD dwWidth, DWORD dwHeight, DWORD dwPitch, DWORD dwColor)
     117{
     118    DWORD *pColor;
     119    char  *pFillPos;
     120   
     121    dprintf(("DDRAW:Fill32 %x (%d,%d) %d with %x \n", pDst, dwWidth, dwHeight, dwPitch, dwColor));
     122
     123    dwWidth *= 4;
     124
     125    if(dwWidth == dwPitch)
     126    {
     127        // Width = Pitch => fill buffer so no need to take care of lines
     128        ddmemfill32(pDst, dwColor, dwWidth*dwHeight);
     129    }
     130    else
     131    {
     132        pFillPos = pDst;
     133
     134        while(dwHeight)
     135        {
     136            ddmemfill32(pFillPos, dwColor, dwWidth);
     137            pFillPos += dwPitch;
     138            dwHeight--;
     139        }
    46140  }
    47 
    48   dwHeight--;
    49 
    50   if(dwWidth == dwPitch)
    51   {
    52     // Width = Pitch => fill buffer so no need to take care of lines
    53     memcpy(pDst+dwPitch, pDst, dwWidth*dwHeight);
    54   }
    55   else
    56   {
    57     pFillPos = pDst+dwPitch;
    58     while(dwHeight)
    59     {
    60       memcpy(pFillPos,pDst,dwWidth);
    61       pFillPos += dwPitch;
    62       dwHeight--;
    63     }
    64   }
    65 }
    66 void __cdecl Fill16( char* pDst,
    67                      DWORD dwWidth,
    68                      DWORD dwHeight,
    69                      DWORD dwPitch,
    70                      DWORD dwColor)
    71 {
    72   DWORD *pColor;
    73   char  *pFillPos;
    74   int i;
    75   dprintf(("DDRAW:Fill16 with %08X \n",dwColor));
    76 
    77   // First Fill First row with the color
    78 
    79   for( i=0,pColor = (DWORD*)pDst;i<(dwWidth/2);i++)
    80     pColor[i] = dwColor;
    81 
    82   if(dwWidth % 2)
    83   {
    84      if(i==0) i = 1;    //or else next line will corrupt heap
    85      pFillPos = (char*)(&pColor[i-1]);
    86     *((USHORT*)pFillPos) = (USHORT)dwColor;
    87   }
    88 
    89   dwWidth *=2;
    90   dwHeight--;
    91 
    92   if(dwWidth == dwPitch)
    93   {
    94     // Width = Pitch => fill buffer so no need to take care of lines
    95     memcpy(pDst+dwPitch, pDst, dwWidth*dwHeight);
    96   }
    97   else
    98   {
    99     pFillPos = pDst+dwPitch;
    100     while(dwHeight)
    101     {
    102       memcpy(pFillPos,pDst,dwWidth);
    103       pFillPos += dwPitch;
    104       dwHeight--;
    105     }
    106   }
    107 }
    108 void __cdecl Fill24( char* pDst,
    109                      DWORD dwWidth,
    110                      DWORD dwHeight,
    111                      DWORD dwPitch,
    112                      DWORD dwColor)
    113 {
    114   DWORD *pColor;
    115   char  *pFillPos;
    116   int i;
    117   dprintf(("DDRAW:Fill24 with %08X \n",dwColor));
    118 
    119   // First Fill First row with the color
    120 
    121   for(i=0 ; i<dwWidth ; i++)
    122   {
    123     pColor = (DWORD*)(pDst+(i*3));
    124     *pColor = dwColor;
    125   }
    126   dwWidth *=3;
    127   dwHeight--;
    128 
    129   if(dwWidth == dwPitch)
    130   {
    131     // Width = Pitch => fill buffer so no need to take care of lines
    132     memcpy(pDst+dwPitch, pDst, dwWidth*dwHeight);
    133   }
    134   else
    135   {
    136     pFillPos = pDst+dwPitch;
    137     while(dwHeight)
    138     {
    139       memcpy(pFillPos,pDst,dwWidth);
    140       pFillPos += dwPitch;
    141       dwHeight--;
    142     }
    143   }
    144 }
    145 
    146 void __cdecl Fill32( char* pDst,
    147                      DWORD dwWidth,
    148                      DWORD dwHeight,
    149                      DWORD dwPitch,
    150                      DWORD dwColor)
    151 {
    152   DWORD *pColor;
    153   char  *pFillPos;
    154   int i;
    155   dprintf(("DDRAW:Fill24 with %08X \n",dwColor));
    156 
    157   // First Fill First row with the color
    158 
    159   for(i=0 ; i<dwWidth ; i++)
    160   {
    161     pColor[i] = dwColor;
    162   }
    163   dwWidth *=4;
    164   dwHeight--;
    165 
    166   if(dwWidth == dwPitch)
    167   {
    168     // Width = Pitch => fill buffer so no need to take care of lines
    169     memcpy(pDst+dwPitch, pDst, dwWidth*dwHeight);
    170   }
    171   else
    172   {
    173     pFillPos = pDst+dwPitch;
    174     while(dwHeight)
    175     {
    176       memcpy(pFillPos,pDst,dwWidth);
    177       pFillPos += dwPitch;
    178       dwHeight--;
    179     }
    180   }
    181 }
    182 #else
    183   #define Fill8  Fill8ASM
    184   #define Fill16 Fill16ASM
    185   #define Fill24 Fill24ASM
    186   #define Fill32 Fill32ASM
    187 #endif
    188 
    189 
    190 
    191 // without ColorConversion
    192  void __cdecl Fill8on8( char *pDB,
     141}
     142//*****************************************************************************
     143//*****************************************************************************
     144void CDECL Fill8on8( char *pDB,
    193145                        char *pFB,
    194146                        DWORD dwTop,
     
    212164         dwColor);
    213165}
    214  void __cdecl Fill16on16( char *pDB,
     166//*****************************************************************************
     167//*****************************************************************************
     168void CDECL Fill16on16( char *pDB,
    215169                          char *pFB,
    216170                          DWORD dwTop,
     
    234188          dwColor);
    235189}
    236  void __cdecl Fill24on24( char *pDB,
     190//*****************************************************************************
     191//*****************************************************************************
     192void CDECL Fill24on24( char *pDB,
    237193                          char *pFB,
    238194                          DWORD dwTop,
     
    256212
    257213}
    258  void __cdecl Fill32on32( char *pDB,
     214//*****************************************************************************
     215//*****************************************************************************
     216void CDECL Fill32on32( char *pDB,
    259217                          char *pFB,
    260218                          DWORD dwTop,
     
    275233          dwColor);
    276234}
    277 
    278  void __cdecl Fill8on16( char *pDB,
     235//*****************************************************************************
     236//*****************************************************************************
     237void CDECL Fill8on16( char *pDB,
    279238                         char *pFB,
    280239                         DWORD dwTop,
     
    307266          dwCol);
    308267}
    309 
    310  void __cdecl Fill8on24( char *pDB,
     268//*****************************************************************************
     269//*****************************************************************************
     270void CDECL Fill8on24( char *pDB,
    311271                         char *pFB,
    312272                         DWORD dwTop,
     
    339299          dwCol);
    340300}
    341  void __cdecl Fill8on32( char *pDB,
     301//*****************************************************************************
     302//*****************************************************************************
     303void CDECL Fill8on32( char *pDB,
    342304                         char *pFB,
    343305                         DWORD dwTop,
     
    369331          dwCol);
    370332}
    371  void __cdecl Fill16on8( char *pDB,
     333//*****************************************************************************
     334//*****************************************************************************
     335void CDECL Fill16on8( char *pDB,
    372336                         char *pFB,
    373337                         DWORD dwTop,
     
    381345                        )
    382346{
    383   dprintf(("Fill16on8 NOT Implemented \n"));
    384 }
    385  void __cdecl Fill16on24( char *pDB,
     347    dprintf(("Fill16on8 NOT Implemented \n"));
     348    DebugInt3();
     349}
     350//*****************************************************************************
     351//*****************************************************************************
     352void CDECL Fill16on24( char *pDB,
    386353                          char *pFB,
    387354                          DWORD dwTop,
     
    414381          dwCol);
    415382}
    416  void __cdecl Fill16on32( char *pDB,
     383//*****************************************************************************
     384//*****************************************************************************
     385void CDECL Fill16on32( char *pDB,
    417386                          char *pFB,
    418387                          DWORD dwTop,
     
    445414          dwCol);
    446415}
    447 
    448  void __cdecl Fill24on8( char *pDB,
     416//*****************************************************************************
     417//*****************************************************************************
     418void CDECL Fill24on8( char *pDB,
    449419                         char *pFB,
    450420                         DWORD dwTop,
     
    458428                        )
    459429{
    460   dprintf(("Fill24on8 NOT implemented\n"));
    461 }
    462  void __cdecl Fill24on16( char *pDB,
     430    dprintf(("Fill24on8 NOT implemented\n"));
     431    DebugInt3();
     432}
     433//*****************************************************************************
     434//*****************************************************************************
     435void CDECL Fill24on16( char *pDB,
    463436                          char *pFB,
    464437                          DWORD dwTop,
     
    493466          dwCol);
    494467}
    495  void __cdecl Fill24on32( char *pDB,
     468//*****************************************************************************
     469//*****************************************************************************
     470void CDECL Fill24on32( char *pDB,
    496471                          char *pFB,
    497472                          DWORD dwTop,
     
    519494          dwColor);
    520495}
    521  void __cdecl Fill32on8( char *pDB,
     496//*****************************************************************************
     497//*****************************************************************************
     498void CDECL Fill32on8( char *pDB,
    522499                         char *pFB,
    523500                         DWORD dwTop,
     
    531508                        )
    532509{
    533   dprintf(("Fill32on8 NOT implemented\n"));
    534 }
    535  void __cdecl Fill32on16( char *pDB,
     510    dprintf(("Fill32on8 NOT implemented\n"));
     511    DebugInt3();
     512}
     513//*****************************************************************************
     514//*****************************************************************************
     515void CDECL Fill32on16( char *pDB,
    536516                          char *pFB,
    537517                          DWORD dwTop,
     
    565545          dwCol);
    566546}
    567  void __cdecl Fill32on24( char *pDB,
     547//*****************************************************************************
     548//*****************************************************************************
     549void CDECL Fill32on24( char *pDB,
    568550                          char *pFB,
    569551                          DWORD dwTop,
     
    590572          dwColor);
    591573}
    592 
     574//*****************************************************************************
     575//*****************************************************************************
     576
  • trunk/src/ddraw/fillfunc.h

    r8818 r8830  
    1 /* $Id: fillfunc.h,v 1.3 2002-07-01 19:15:26 sandervl Exp $ */
     1/* $Id: fillfunc.h,v 1.4 2002-07-03 15:44:39 sandervl Exp $ */
    22
    33/*
     
    1515
    1616// without ColorConversion
    17 extern void __cdecl Fill8on8( char *pDBDst,
     17extern void CDECL Fill8on8( char *pDBDst,
    1818                              char *pFBDst,
    1919                              DWORD dwDstTop,
     
    2727                             );
    2828
    29 extern void __cdecl Fill16on16( char *pDBDst,
    30                                 char *pFBDst,
    31                                 DWORD dwDstTop,
    32                                 DWORD dwDstLeft,
    33                                 DWORD dwWidth,
    34                                 DWORD dwHeight,
    35                                 DWORD dwPitchDBDst,
    36                                 DWORD dwPitchFBDst,
    37                                 DWORD dwColor,
    38                                 VOID  *pPalette
    39                               );
    40 extern void __cdecl Fill24on24( char *pDBDst,
     29extern void CDECL Fill16on16( char *pDBDst,
     30                                char *pFBDst,
     31                                DWORD dwDstTop,
     32                                DWORD dwDstLeft,
     33                                DWORD dwWidth,
     34                                DWORD dwHeight,
     35                                DWORD dwPitchDBDst,
     36                                DWORD dwPitchFBDst,
     37                                DWORD dwColor,
     38                                VOID  *pPalette
     39                              );
     40extern void CDECL Fill24on24( char *pDBDst,
    4141                                char *pFBDst,
    4242                                DWORD dwDstTop,
     
    4949                                VOID  *pPalette
    5050                               );
    51 extern void __cdecl Fill32on32( char *pDBDst,
     51extern void CDECL Fill32on32( char *pDBDst,
    5252                                char *pFBDst,
    5353                                DWORD dwDstTop,
     
    6161                               );
    6262
    63 extern void __cdecl Fill8on16( char *pDBDst,
    64                                char *pFBDst,
    65                                DWORD dwDstTop,
    66                                DWORD dwDstLeft,
    67                                DWORD dwWidth,
    68                                DWORD dwHeight,
    69                                DWORD dwPitchDBDst,
    70                                DWORD dwPitchFBDst,
    71                                DWORD dwColor,
    72                                VOID  *pPalette
    73                               );
    74 
    75 extern void __cdecl Fill8on24( char *pDBDst,
    76                                char *pFBDst,
    77                                DWORD dwDstTop,
    78                                DWORD dwDstLeft,
    79                                DWORD dwWidth,
    80                                DWORD dwHeight,
    81                                DWORD dwPitchDBDst,
    82                                DWORD dwPitchFBDst,
    83                                DWORD dwColor,
    84                                VOID  *pPalette
    85                               );
    86 
    87 extern void __cdecl Fill8on32( char *pDBDst,
    88                                char *pFBDst,
    89                                DWORD dwDstTop,
    90                                DWORD dwDstLeft,
    91                                DWORD dwWidth,
    92                                DWORD dwHeight,
    93                                DWORD dwPitchDBDst,
    94                                DWORD dwPitchFBDst,
    95                                DWORD dwColor,
    96                                VOID  *pPalette
    97                               );
    98 
    99 extern void __cdecl Fill16on8( char *pDBDst,
    100                                char *pFBDst,
    101                                DWORD dwDstTop,
    102                                DWORD dwDstLeft,
    103                                DWORD dwWidth,
    104                                DWORD dwHeight,
    105                                DWORD dwPitchDBDst,
    106                                DWORD dwPitchFBDst,
    107                                DWORD dwColor,
    108                                VOID  *pPalette
    109                               );
    110 
    111 extern void __cdecl Fill16on24( char *pDBDst,
    112                                 char *pFBDst,
    113                                 DWORD dwDstTop,
    114                                 DWORD dwDstLeft,
    115                                 DWORD dwWidth,
    116                                 DWORD dwHeight,
    117                                 DWORD dwPitchDBDst,
    118                                 DWORD dwPitchFBDst,
    119                                 DWORD dwColor,
    120                                 VOID  *pPalette
    121                               );
    122 
    123 extern void __cdecl Fill16on32( char *pDBDst,
    124                                char *pFBDst,
    125                                DWORD dwDstTop,
    126                                DWORD dwDstLeft,
    127                                DWORD dwWidth,
    128                                DWORD dwHeight,
    129                                DWORD dwPitchDBDst,
    130                                DWORD dwPitchFBDst,
    131                                DWORD dwColor,
    132                                VOID  *pPalette
    133                               );
    134 
    135 extern void __cdecl Fill24on8( char *pDBDst,
    136                                char *pFBDst,
    137                                DWORD dwDstTop,
    138                                DWORD dwDstLeft,
    139                                DWORD dwWidth,
    140                                DWORD dwHeight,
    141                                DWORD dwPitchDBDst,
    142                                DWORD dwPitchFBDst,
    143                                DWORD dwColor,
    144                                VOID  *pPalette
    145                               );
    146 
    147 extern void __cdecl Fill24on16( char *pDBDst,
    148                                 char *pFBDst,
    149                                 DWORD dwDstTop,
    150                                 DWORD dwDstLeft,
    151                                 DWORD dwWidth,
    152                                 DWORD dwHeight,
    153                                 DWORD dwPitchDBDst,
    154                                 DWORD dwPitchFBDst,
    155                                 DWORD dwColor,
    156                                 VOID  *pPalette
    157                               );
    158 
    159 extern void __cdecl Fill24on32( char *pDBDst,
    160                                char *pFBDst,
    161                                DWORD dwDstTop,
    162                                DWORD dwDstLeft,
    163                                DWORD dwWidth,
    164                                DWORD dwHeight,
    165                                DWORD dwPitchDBDst,
    166                                DWORD dwPitchFBDst,
    167                                DWORD dwColor,
    168                                VOID  *pPalette
    169                               );
    170 
    171 extern void __cdecl Fill32on8( char *pDBDst,
    172                                char *pFBDst,
    173                                DWORD dwDstTop,
    174                                DWORD dwDstLeft,
    175                                DWORD dwWidth,
    176                                DWORD dwHeight,
    177                                DWORD dwPitchDBDst,
    178                                DWORD dwPitchFBDst,
    179                                DWORD dwColor,
    180                                VOID  *pPalette
    181                               );
    182 
    183 extern void __cdecl Fill32on16( char *pDBDst,
    184                                 char *pFBDst,
    185                                 DWORD dwDstTop,
    186                                 DWORD dwDstLeft,
    187                                 DWORD dwWidth,
    188                                 DWORD dwHeight,
    189                                 DWORD dwPitchDBDst,
    190                                 DWORD dwPitchFBDst,
    191                                 DWORD dwColor,
    192                                 VOID  *pPalette
    193                               );
    194 
    195 extern void __cdecl Fill32on24( char *pDBDst,
    196                                char *pFBDst,
    197                                DWORD dwDstTop,
    198                                DWORD dwDstLeft,
    199                                DWORD dwWidth,
    200                                DWORD dwHeight,
    201                                DWORD dwPitchDBDst,
    202                                DWORD dwPitchFBDst,
    203                                DWORD dwColor,
    204                                VOID  *pPalette
    205                               );
    206 
     63extern void CDECL Fill8on16( char *pDBDst,
     64                               char *pFBDst,
     65                               DWORD dwDstTop,
     66                               DWORD dwDstLeft,
     67                               DWORD dwWidth,
     68                               DWORD dwHeight,
     69                               DWORD dwPitchDBDst,
     70                               DWORD dwPitchFBDst,
     71                               DWORD dwColor,
     72                               VOID  *pPalette
     73                              );
     74
     75extern void CDECL Fill8on24( char *pDBDst,
     76                               char *pFBDst,
     77                               DWORD dwDstTop,
     78                               DWORD dwDstLeft,
     79                               DWORD dwWidth,
     80                               DWORD dwHeight,
     81                               DWORD dwPitchDBDst,
     82                               DWORD dwPitchFBDst,
     83                               DWORD dwColor,
     84                               VOID  *pPalette
     85                              );
     86
     87extern void CDECL Fill8on32( char *pDBDst,
     88                               char *pFBDst,
     89                               DWORD dwDstTop,
     90                               DWORD dwDstLeft,
     91                               DWORD dwWidth,
     92                               DWORD dwHeight,
     93                               DWORD dwPitchDBDst,
     94                               DWORD dwPitchFBDst,
     95                               DWORD dwColor,
     96                               VOID  *pPalette
     97                              );
     98
     99extern void CDECL Fill16on8( char *pDBDst,
     100                               char *pFBDst,
     101                               DWORD dwDstTop,
     102                               DWORD dwDstLeft,
     103                               DWORD dwWidth,
     104                               DWORD dwHeight,
     105                               DWORD dwPitchDBDst,
     106                               DWORD dwPitchFBDst,
     107                               DWORD dwColor,
     108                               VOID  *pPalette
     109                              );
     110
     111extern void CDECL Fill16on24( char *pDBDst,
     112                                char *pFBDst,
     113                                DWORD dwDstTop,
     114                                DWORD dwDstLeft,
     115                                DWORD dwWidth,
     116                                DWORD dwHeight,
     117                                DWORD dwPitchDBDst,
     118                                DWORD dwPitchFBDst,
     119                                DWORD dwColor,
     120                                VOID  *pPalette
     121                              );
     122
     123extern void CDECL Fill16on32( char *pDBDst,
     124                               char *pFBDst,
     125                               DWORD dwDstTop,
     126                               DWORD dwDstLeft,
     127                               DWORD dwWidth,
     128                               DWORD dwHeight,
     129                               DWORD dwPitchDBDst,
     130                               DWORD dwPitchFBDst,
     131                               DWORD dwColor,
     132                               VOID  *pPalette
     133                              );
     134
     135extern void CDECL Fill24on8( char *pDBDst,
     136                               char *pFBDst,
     137                               DWORD dwDstTop,
     138                               DWORD dwDstLeft,
     139                               DWORD dwWidth,
     140                               DWORD dwHeight,
     141                               DWORD dwPitchDBDst,
     142                               DWORD dwPitchFBDst,
     143                               DWORD dwColor,
     144                               VOID  *pPalette
     145                              );
     146
     147extern void CDECL Fill24on16( char *pDBDst,
     148                                char *pFBDst,
     149                                DWORD dwDstTop,
     150                                DWORD dwDstLeft,
     151                                DWORD dwWidth,
     152                                DWORD dwHeight,
     153                                DWORD dwPitchDBDst,
     154                                DWORD dwPitchFBDst,
     155                                DWORD dwColor,
     156                                VOID  *pPalette
     157                              );
     158
     159extern void CDECL Fill24on32( char *pDBDst,
     160                               char *pFBDst,
     161                               DWORD dwDstTop,
     162                               DWORD dwDstLeft,
     163                               DWORD dwWidth,
     164                               DWORD dwHeight,
     165                               DWORD dwPitchDBDst,
     166                               DWORD dwPitchFBDst,
     167                               DWORD dwColor,
     168                               VOID  *pPalette
     169                              );
     170
     171extern void CDECL Fill32on8( char *pDBDst,
     172                               char *pFBDst,
     173                               DWORD dwDstTop,
     174                               DWORD dwDstLeft,
     175                               DWORD dwWidth,
     176                               DWORD dwHeight,
     177                               DWORD dwPitchDBDst,
     178                               DWORD dwPitchFBDst,
     179                               DWORD dwColor,
     180                               VOID  *pPalette
     181                              );
     182
     183extern void CDECL Fill32on16( char *pDBDst,
     184                                char *pFBDst,
     185                                DWORD dwDstTop,
     186                                DWORD dwDstLeft,
     187                                DWORD dwWidth,
     188                                DWORD dwHeight,
     189                                DWORD dwPitchDBDst,
     190                                DWORD dwPitchFBDst,
     191                                DWORD dwColor,
     192                                VOID  *pPalette
     193                              );
     194
     195extern void CDECL Fill32on24( char *pDBDst,
     196                               char *pFBDst,
     197                               DWORD dwDstTop,
     198                               DWORD dwDstLeft,
     199                               DWORD dwWidth,
     200                               DWORD dwHeight,
     201                               DWORD dwPitchDBDst,
     202                               DWORD dwPitchFBDst,
     203                               DWORD dwColor,
     204                               VOID  *pPalette
     205                              );
     206
Note: See TracChangeset for help on using the changeset viewer.