Author: fireball
Date: Sat Aug 1 21:00:07 2009
New Revision: 42326
URL: http://svn.reactos.org/svn/reactos?rev=42326&view=rev
Log:
- Remove GreatLord's "uberoptimized" DIB_32BPP_ColorFill since it doesn't really conform to any calling convention and doesn't correctly set up ebp and esp as it should. As an example of such actions it's impossible to have a backtrace if an exception occurs in this function.
Removed:
branches/arwinss/reactos/subsystems/win32/win32k/dib/i386/dib32bpp_colorfill.s
Modified:
branches/arwinss/reactos/subsystems/win32/win32k/dib/dib32bpp.c
branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild
Modified: branches/arwinss/reactos/subsystems/win32/win32k/dib/dib32bpp.c
URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/dib/dib32bpp.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/dib/dib32bpp.c [iso-8859-1] Sat Aug 1 21:00:07 2009
@@ -294,6 +294,19 @@
}
BOOLEAN
+DIB_32BPP_ColorFill(SURFOBJ* DestSurface, RECTL* DestRect, ULONG color)
+{
+ ULONG DestY;
+
+ for (DestY = DestRect->top; DestY < DestRect->bottom; DestY++)
+ {
+ DIB_32BPP_HLine(DestSurface, DestRect->left, DestRect->right, DestY, color);
+ }
+
+ return TRUE;
+}
+
+BOOLEAN
DIB_32BPP_TransparentBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
RECTL* DestRect, RECTL *SourceRect,
XLATEOBJ *ColorTranslation, ULONG iTransColor)
Removed: branches/arwinss/reactos/subsystems/win32/win32k/dib/i386/dib32bpp_colorfill.s
URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/dib/i386/dib32bpp_colorfill.s [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/dib/i386/dib32bpp_colorfill.s (removed)
@@ -1,93 +1,0 @@
-
-/*
- * ReactOS W32 Subsystem
- * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 2004, 2005, 2006 ReactOS Team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/* $Id: */
- .globl _DIB_32BPP_ColorFill
- .intel_syntax noprefix
-
- .def _DIB_32BPP_ColorFill;
- .scl 2;
- .type 32;
- .endef
-
- _DIB_32BPP_ColorFill:
- sub esp, 24
- mov ecx, [esp+32]
- mov [esp+8], ebx
- mov ebx, [esp+28]
- mov [esp+20], ebp
- mov ebp, [esp+36]
- mov [esp+12], esi
- mov [esp+16], edi
- mov edi, [ecx]
- mov esi, [ecx+8]
- mov edx, [ebx+36]
- sub esi, edi
- mov edi, [ecx+4]
- mov eax, edi
- imul eax, edx
- add eax, [ebx+32]
- mov ebx, [ecx]
- lea eax, [eax+ebx*4]
- mov [esp+4], eax
- mov eax, [ecx+12]
- cmp eax, edi
- jbe end
- sub eax, edi
- mov [esp], eax
- lea esi, [esi+0]
-
- for_loop:
- mov eax, ebp
- cld
- mov ebx, esi
- mov edi, [esp+4]
- test edi, 3
- jnz algin_draw
- mov ecx, esi
- rep stosd
- add [esp+4], edx
- dec dword ptr [esp]
- jnz for_loop
- end:
- mov ebx, [esp+8]
- mov eax, 1
- mov esi, [esp+12]
- mov edi, [esp+16]
- mov ebp, [esp+20]
- add esp, 24
- ret
-
- algin_draw:
- stosd
- dec ebx
- mov ecx, ebx
- rol eax, 16
- stosd
- add [esp+4], edx
- dec dword ptr [esp]
- jnz for_loop
-
- mov ebx, [esp+8]
- mov eax, 1
- mov esi, [esp+12]
- mov edi, [esp+16]
- mov ebp, [esp+20]
- add esp, 24
- ret
Modified: branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild
URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] Sat Aug 1 21:00:07 2009
@@ -43,7 +43,6 @@
<directory name="i386">
<file>dib24bpp_hline.s</file>
<file>dib32bpp_hline.s</file>
- <file>dib32bpp_colorfill.s</file>
</directory>
</if>
<ifnot property="ARCH" value="i386">