fix 640x480x32 blitting, optimize other blitters
This commit is contained in:
@@ -1056,8 +1056,7 @@ void drawscreenwin(void)
|
|||||||
incl %%eax
|
incl %%eax
|
||||||
addl Temp1, %%edi
|
addl Temp1, %%edi
|
||||||
subl $512, %%edi
|
subl $512, %%edi
|
||||||
subl $512, %%esi
|
addl $64, %%esi
|
||||||
addl $576, %%esi
|
|
||||||
cmpl $223, %%eax
|
cmpl $223, %%eax
|
||||||
jne Copying3
|
jne Copying3
|
||||||
|
|
||||||
@@ -1084,8 +1083,7 @@ void drawscreenwin(void)
|
|||||||
incl %%eax
|
incl %%eax
|
||||||
addl Temp1, %%edi
|
addl Temp1, %%edi
|
||||||
subl $512, %%edi
|
subl $512, %%edi
|
||||||
subl $512, %%esi
|
addl $64, %%esi
|
||||||
addl $576, %%esi
|
|
||||||
cmpl $223, %%eax
|
cmpl $223, %%eax
|
||||||
jne Copying
|
jne Copying
|
||||||
xorl %%eax, %%eax
|
xorl %%eax, %%eax
|
||||||
@@ -1120,8 +1118,7 @@ void drawscreenwin(void)
|
|||||||
incl %%eax
|
incl %%eax
|
||||||
addl Temp1, %%edi
|
addl Temp1, %%edi
|
||||||
subl $1024, %%edi
|
subl $1024, %%edi
|
||||||
subl $512, %%esi
|
addl $64, %%esi
|
||||||
addl $576, %%esi
|
|
||||||
cmpl $223, %%eax
|
cmpl $223, %%eax
|
||||||
jne Copying32b
|
jne Copying32b
|
||||||
popw %%es
|
popw %%es
|
||||||
@@ -1219,8 +1216,7 @@ void drawscreenwin(void)
|
|||||||
incl %%ebx
|
incl %%ebx
|
||||||
addl Temp1, %%edi
|
addl Temp1, %%edi
|
||||||
subl $640, %%edi
|
subl $640, %%edi
|
||||||
subl $512, %%esi
|
addl $564, %%esi
|
||||||
addl $576, %%esi
|
|
||||||
cmpl $223, %%ebx
|
cmpl $223, %%ebx
|
||||||
jne Copying2MMX
|
jne Copying2MMX
|
||||||
|
|
||||||
@@ -1263,8 +1259,7 @@ void drawscreenwin(void)
|
|||||||
incl %%ebx
|
incl %%ebx
|
||||||
addl Temp1, %%edi
|
addl Temp1, %%edi
|
||||||
subl $640, %%edi
|
subl $640, %%edi
|
||||||
subl $512, %%esi
|
addl $64, %%esi
|
||||||
addl $576, %%esi
|
|
||||||
cmpl $223, %%ebx
|
cmpl $223, %%ebx
|
||||||
jne Copying2
|
jne Copying2
|
||||||
|
|
||||||
@@ -1368,9 +1363,8 @@ void drawscreenwin(void)
|
|||||||
addl $2, %%esi
|
addl $2, %%esi
|
||||||
movl (%%ebx, %%eax, 4), %%edx
|
movl (%%ebx, %%eax, 4), %%edx
|
||||||
movl %%edx, (%%edi)
|
movl %%edx, (%%edi)
|
||||||
addl $4, %%edi
|
movl %%edx, 4(%%edi)
|
||||||
movl %%edx, (%%edi)
|
addl $8, %%edi
|
||||||
addl $4, %%edi
|
|
||||||
loop CopyLoop32c
|
loop CopyLoop32c
|
||||||
pushl %%esi
|
pushl %%esi
|
||||||
movl %%edi, %%esi
|
movl %%edi, %%esi
|
||||||
@@ -1381,15 +1375,16 @@ void drawscreenwin(void)
|
|||||||
popl %%esi
|
popl %%esi
|
||||||
popl %%eax
|
popl %%eax
|
||||||
incl %%eax
|
incl %%eax
|
||||||
addl Temp1, %%edi
|
addl $64, %%esi
|
||||||
subl $2048, %%edi
|
|
||||||
subl $512, %%esi
|
|
||||||
addl $576, %%esi
|
|
||||||
cmpl $223, %%eax
|
cmpl $223, %%eax
|
||||||
jne Copying32c
|
jne Copying32c
|
||||||
popw %%es
|
popw %%es
|
||||||
" : : : "cc", "memory","eax","ebx","ecx","edx","edi","esi");
|
" : : : "cc", "memory","eax","ebx","ecx","edx","edi","esi");
|
||||||
break;
|
break;
|
||||||
|
/*
|
||||||
|
addl Temp1, %%edi
|
||||||
|
subl $2048, %%edi
|
||||||
|
*/
|
||||||
default:
|
default:
|
||||||
UnlockSurface();
|
UnlockSurface();
|
||||||
fprintf(stderr, "Mode only available in 16 or 32 bit color.\n");
|
fprintf(stderr, "Mode only available in 16 or 32 bit color.\n");
|
||||||
@@ -1432,30 +1427,30 @@ void drawscreenwin(void)
|
|||||||
addl $2, %%esi
|
addl $2, %%esi
|
||||||
movl (%%ebx, %%eax, 4), %%edx
|
movl (%%ebx, %%eax, 4), %%edx
|
||||||
movl %%edx, (%%edi)
|
movl %%edx, (%%edi)
|
||||||
addl $4, %%edi
|
movl %%edx, 4(%%edi)
|
||||||
movl %%edx, (%%edi)
|
addl $8, %%edi
|
||||||
addl $4, %%edi
|
|
||||||
loop CopyLoop32d
|
loop CopyLoop32d
|
||||||
|
addl $512, %%edi
|
||||||
pushl %%esi
|
pushl %%esi
|
||||||
movl %%edi, %%esi
|
movl %%edi, %%esi
|
||||||
subl Temp1, %%esi
|
subl Temp1, %%esi
|
||||||
addl $256, %%edi
|
|
||||||
movl $512, %%ecx
|
movl $512, %%ecx
|
||||||
rep
|
rep
|
||||||
movsl
|
movsl
|
||||||
popl %%esi
|
popl %%esi
|
||||||
popl %%eax
|
popl %%eax
|
||||||
incl %%eax
|
incl %%eax
|
||||||
addl Temp1, %%edi
|
addl $512, %%edi
|
||||||
addl $256, %%edi
|
addl $64, %%esi
|
||||||
subl $2048, %%edi
|
|
||||||
subl $512, %%esi
|
|
||||||
addl $576, %%esi
|
|
||||||
cmpl $223, %%eax
|
cmpl $223, %%eax
|
||||||
jne Copying32d
|
jne Copying32d
|
||||||
popw %%es
|
popw %%es
|
||||||
" : : : "cc", "memory","eax","ebx","ecx","edx","edi","esi");
|
" : : : "cc", "memory","eax","ebx","ecx","edx","edi","esi");
|
||||||
break;
|
break;
|
||||||
|
/*
|
||||||
|
addl Temp1, %%edi
|
||||||
|
subl $2048, %%edi
|
||||||
|
*/
|
||||||
default:
|
default:
|
||||||
UnlockSurface();
|
UnlockSurface();
|
||||||
fprintf(stderr, "Mode only available in 16 or 32 bit color.\n");
|
fprintf(stderr, "Mode only available in 16 or 32 bit color.\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user