Added some pipelining for faster drawing on pentiums, gives 3-5 extra fps
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user