summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dos/virtual.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dos/virtual.S')
-rw-r--r--src/mesa/drivers/dos/virtual.S489
1 files changed, 0 insertions, 489 deletions
diff --git a/src/mesa/drivers/dos/virtual.S b/src/mesa/drivers/dos/virtual.S
deleted file mode 100644
index c5cc1fe86f8..00000000000
--- a/src/mesa/drivers/dos/virtual.S
+++ /dev/null
@@ -1,489 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 4.0
- *
- * Copyright (C) 1999 Brian Paul All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-/*
- * DOS/DJGPP device driver v1.3 for Mesa
- *
- * Copyright (C) 2002 - Borca Daniel
- * Email : [email protected]
- * Web : http://www.geocities.com/dborca
- */
-
-
- .file "virtual.S"
-
-/*
- * extern void *vl_current_draw_buffer;
- * extern int vl_current_width, vl_current_bytes;
- */
-
- .text
-
-/* Desc: void v_clear8 (int color);
- *
- * In : color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_clear8
-_v_clear8:
- movl 4(%esp), %eax
- movb %al, %ah
- pushw %ax
- pushw %ax
- popl %eax
- jmp _v_clear_common
-
-/* Desc: void v_clear16 (int color);
- *
- * In : color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_clear16
-_v_clear16:
- movl 4(%esp), %eax
- pushw %ax
- pushw %ax
- popl %eax
- jmp _v_clear_common
-
-/* Desc: void v_clear32 (int color);
- *
- * In : color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_clear32
-_v_clear32:
- movl 4(%esp), %eax
- .balign 4
-_v_clear_common:
- movl _vl_current_bytes, %ecx
- movl _vl_current_draw_buffer, %edx
- shrl $2, %ecx
- .balign 4
- 0:
- movl %eax, (%edx)
- addl $4, %edx
- decl %ecx
- jnz 0b
- ret
-
-/* Desc: void v_clear8_mmx (int color);
- *
- * In : color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_clear8_mmx
-_v_clear8_mmx:
-#ifdef USE_MMX_ASM
- movd 4(%esp), %mm0
- punpcklbw %mm0, %mm0
- punpcklwd %mm0, %mm0
- jmp _v_clear_common_mmx
-#endif
-
-/* Desc: void v_clear16_mmx (int color);
- *
- * In : color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_clear16_mmx
-_v_clear16_mmx:
-#ifdef USE_MMX_ASM
- movd 4(%esp), %mm0
- punpcklwd %mm0, %mm0
- jmp _v_clear_common_mmx
-#endif
-
-/* Desc: void v_clear32_mmx (int color);
- *
- * In : color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_clear32_mmx
-_v_clear32_mmx:
-#ifdef USE_MMX_ASM
- movd 4(%esp), %mm0
- .balign 4
-_v_clear_common_mmx:
- punpckldq %mm0, %mm0
- movl _vl_current_bytes, %ecx
- movl _vl_current_draw_buffer, %edx
- shrl $3, %ecx
- .balign 4
- 0:
- movq %mm0, (%edx)
- addl $8, %edx
- decl %ecx
- jnz 0b
- emms
-#endif
- ret
-
-/* Desc: void v_clear24 (int color);
- *
- * In : color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_clear24
-_v_clear24:
- movl $0xaaaaaaab, %eax
- mull _vl_current_bytes
- movl 4(%esp), %eax
- movl %edx, %ecx
- pushl %ebx
- movl _vl_current_draw_buffer, %edx
- shrl %ecx
- movb 10(%esp), %bl
- .balign 4
- 0:
- movw %ax, (%edx)
- movb %bl, 2(%edx)
- addl $3, %edx
- decl %ecx
- jnz 0b
- popl %ebx
- ret
-
-/* Desc: void v_clear24_mmx (int color);
- *
- * In : color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_clear24_mmx
-_v_clear24_mmx:
-#ifdef USE_MMX_ASM
- movl 4(%esp), %eax
- movl %eax, %edx
- movl %eax, %ecx
- shll $16, %edx
- rorl $8, %ecx
- movw %cx, %dx
- rorl $16, %ecx
- movb %dh, %cl
- shll $8, %eax
- movb %ch, %al
- rorl $8, %eax
-
- pushl %edx
- pushl %eax
- movq (%esp), %mm0
- pushl %ecx
- movq (%esp), %mm1
- pushl %edx
- movq (%esp), %mm2
-
- movl $0xaaaaaaab, %eax
- mull _vl_current_bytes
- movl %edx, %ecx
- movl _vl_current_draw_buffer, %edx
- shrl $4, %ecx
- .balign 4
- 0:
- movq %mm0, (%edx)
- movq %mm1, 8(%edx)
- movq %mm2, 16(%edx)
- addl $24, %edx
- decl %ecx
- jnz 0b
- emms
- addl $16, %esp
-#endif
- ret
-
-/* Desc: void v_rect8 (int color);
- *
- * In : color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_rect8
-_v_rect8:
- cld
- pushl %esi
- pushl %edi
- movl 28(%esp), %eax
- movl _vl_current_width, %esi
- movl 16(%esp), %edi
- movb %al, %ah
- movl 20(%esp), %ecx
- imull %esi, %edi
- movl 24(%esp), %edx
- subl %ecx, %esi
- addl 12(%esp), %edi
- pushw %ax
- pushw %ax
- pushl %ds
- popl %es
- addl _vl_current_draw_buffer, %edi
- popl %eax
- pushl %ebx
- movl %ecx, %ebx
- andl $3, %ebx
- .balign 4
- 0:
- pushl %ecx
- .balign 4
- 1:
- shrl $2, %ecx
- rep; stosl
- testl %ebx, %ebx
- jz 2f
- movl %ebx, %ecx
- rep; stosb
- .balign 4
- 2:
- popl %ecx
- addl %esi, %edi
- decl %edx
- jnz 0b
- popl %ebx
- popl %edi
- popl %esi
- ret
-
-/* Desc: void v_rect16 (int color);
- *
- * In : color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_rect16
-_v_rect16:
- cld
- pushl %esi
- pushl %edi
- movl 28(%esp), %eax
- movl _vl_current_width, %esi
- movl 16(%esp), %edi
- movl 20(%esp), %ecx
- imull %esi, %edi
- movl 24(%esp), %edx
- subl %ecx, %esi
- addl 12(%esp), %edi
- pushw %ax
- shll %esi
- pushw %ax
- shll %edi
- pushl %ds
- popl %es
- addl _vl_current_draw_buffer, %edi
- popl %eax
- .balign 4
- 0:
- pushl %ecx
- .balign 4
- 1:
- shrl %ecx
- rep; stosl
- jnc 2f
- stosw
- .balign 4
- 2:
- popl %ecx
- addl %esi, %edi
- decl %edx
- jnz 0b
- popl %edi
- popl %esi
- ret
-
-/* Desc: void v_rect24 (int color);
- *
- * In : color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_rect24
-_v_rect24:
- pushl %esi
- pushl %edi
- movl 28(%esp), %eax
- movl _vl_current_width, %esi
- movl 16(%esp), %edi
- movl 20(%esp), %ecx
- imull %esi, %edi
- movl 24(%esp), %edx
- subl %ecx, %esi
- addl 12(%esp), %edi
- leal (%esi, %esi, 2), %esi
- pushl %ebx
- leal (%edi, %edi, 2), %edi
- movl %eax, %ebx
- addl _vl_current_draw_buffer, %edi
- shrl $16, %ebx
- .balign 4
- 0:
- pushl %ecx
- .balign 4
- 1:
- movw %ax, (%edi)
- movb %bl, 2(%edi)
- addl $3, %edi
- decl %ecx
- jnz 1b
- popl %ecx
- addl %esi, %edi
- decl %edx
- jnz 0b
- popl %ebx
- popl %edi
- popl %esi
- ret
-
-/* Desc: void v_rect32 (int color);
- *
- * In : color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_rect32
-_v_rect32:
- pushl %esi
- pushl %edi
- movl _vl_current_width, %esi
- movl 16(%esp), %edi
- movl 20(%esp), %ecx
- imull %esi, %edi
- movl 24(%esp), %edx
- subl %ecx, %esi
- addl 12(%esp), %edi
- shll $2, %esi
- shll $2, %edi
- movl 28(%esp), %eax
- addl _vl_current_draw_buffer, %edi
- .balign 4
- 0:
- pushl %ecx
- .balign 4
- 1:
- movl %eax, (%edi)
- addl $4, %edi
- decl %ecx
- jnz 1b
- popl %ecx
- addl %esi, %edi
- decl %edx
- jnz 0b
- popl %edi
- popl %esi
- ret
-
-/* Desc: void v_putpixel8 (unsigned int offset, int color);
- *
- * In : offset within buffer, color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_putpixel8
-_v_putpixel8:
- movl 8(%esp), %ecx
- movl 4(%esp), %edx
- movl _vl_current_draw_buffer, %eax
- movb %cl, (%eax,%edx)
- ret
-
-/* Desc: void v_putpixel16 (unsigned int offset, int color);
- *
- * In : offset within buffer, color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_putpixel16
-_v_putpixel16:
- movl 8(%esp), %ecx
- movl 4(%esp), %edx
- movl _vl_current_draw_buffer, %eax
- movw %cx, (%eax,%edx,2)
- ret
-
-/* Desc: void v_putpixel24 (unsigned int offset, int color);
- *
- * In : offset within buffer, color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_putpixel24
-_v_putpixel24:
- movl 4(%esp), %eax
- movl 8(%esp), %edx
- movl _vl_current_draw_buffer, %ecx
- leal (%eax,%eax,2), %eax
- movw %dx, (%ecx,%eax)
- shrl $16, %edx
- movb %dl, 2(%ecx,%eax)
- ret
-
-/* Desc: void v_putpixel32 (unsigned int offset, int color);
- *
- * In : offset within buffer, color
- * Out : -
- *
- * Note: uses current draw buffer
- */
- .p2align 5,,31
- .global _v_putpixel32
-_v_putpixel32:
- movl 8(%esp), %ecx
- movl 4(%esp), %edx
- movl _vl_current_draw_buffer, %eax
- movl %ecx, (%eax,%edx,4)
- ret