Added some pipelining for faster drawing on pentiums, gives 3-5 extra fps

This commit is contained in:
theoddone33
2001-09-20 01:51:11 +00:00
parent d6b8030162
commit 0fa15b473f

View File

@@ -123,9 +123,6 @@ void sw_clearwin()
switch (BitDepth) { switch (BitDepth) {
case 16: case 16:
__asm__ __volatile__ ( __asm__ __volatile__ (
" pushw %%es\n" \
" movw %%ds, %%ax\n" \
" movw %%ax, %%es\n" \
" xorl %%eax, %%eax\n" \ " xorl %%eax, %%eax\n" \
" movl SurfBufD, %%edi\n" \ " movl SurfBufD, %%edi\n" \
" xorl %%ebx, %%ebx\n" \ " xorl %%ebx, %%ebx\n" \
@@ -133,20 +130,17 @@ void sw_clearwin()
" movl SurfaceX, %%ecx\n" \ " movl SurfaceX, %%ecx\n" \
" rep\n" \ " rep\n" \
" stosw\n" \ " stosw\n" \
" movl SurfaceX, %%edx\n" \
" addl pitch, %%edi\n" \ " addl pitch, %%edi\n" \
" subl SurfaceX, %%edi\n" \ " shll $1, %%edx\n" \
" subl SurfaceX, %%edi\n" \
" addl $1, %%ebx\n" \ " addl $1, %%ebx\n" \
" subl %%edx, %%edi\n" \
" cmpl SurfaceY, %%ebx\n" \ " cmpl SurfaceY, %%ebx\n" \
" jne Blank2\n" \ " jne Blank2\n" \
" popw %%es\n" \ : : : "cc", "memory", "eax", "ebx", "edx", "ecx", "edi");
: : : "cc", "memory", "eax", "ebx", "ecx", "edi");
break; break;
case 32: case 32:
__asm__ __volatile__ ( __asm__ __volatile__ (
" pushw %%es\n" \
" movw %%ds, %%ax\n" \
" movw %%ax, %%es\n" \
" xorl %%eax, %%eax\n" \ " xorl %%eax, %%eax\n" \
" movl SurfBufD, %%edi\n" \ " movl SurfBufD, %%edi\n" \
" xorl %%ebx, %%ebx\n" \ " xorl %%ebx, %%ebx\n" \
@@ -162,7 +156,6 @@ void sw_clearwin()
" addl $1, %%ebx\n" \ " addl $1, %%ebx\n" \
" cmpl SurfaceY, %%ebx\n" \ " cmpl SurfaceY, %%ebx\n" \
" jne Blank3\n" \ " jne Blank3\n" \
" popw %%es\n" \
: : : "cc", "memory", "eax", "ebx", "ecx","edi"); : : : "cc", "memory", "eax", "ebx", "ecx","edi");
break; break;
} }