Merged r3106:3107 from branches/SDL-1.2: Hermes PIC fixes.

This commit is contained in:
Ryan C. Gordon
2007-06-27 10:17:35 +00:00
parent 71f0c038e0
commit bfff23d04a
5 changed files with 33 additions and 87 deletions

View File

@@ -12,7 +12,6 @@ BITS 32
%include "common.inc"
SDL_FUNC _ConvertMMX
SDL_FUNC _mmxreturn
SECTION .text
@@ -51,9 +50,8 @@ _ConvertMMX:
y_loop:
mov ecx,[ebp+4]
jmp [ebp+32]
call [ebp+32]
_mmxreturn:
add esi,[ebp+12]
add edi,[ebp+28]

View File

@@ -28,8 +28,6 @@ SDL_FUNC _ConvertMMXpII32_16BGR565
SDL_FUNC _ConvertMMXpII32_16RGB555
SDL_FUNC _ConvertMMXpII32_16BGR555
EXTERN _mmxreturn
;; Macros for conversion routines
%macro _push_immq_mask 1
@@ -121,7 +119,7 @@ _ConvertMMXpII32_24RGB888:
dec ecx
jnz .L3
.L4:
jmp _mmxreturn
return
@@ -190,7 +188,7 @@ _ConvertMMXpII32_16RGB565:
jnz .L3
.L4:
jmp _mmxreturn
retn
_ConvertMMXpII32_16BGR565:
@@ -260,7 +258,7 @@ _ConvertMMXpII32_16BGR565:
jnz .L3
.L4:
jmp _mmxreturn
retn
_ConvertMMXpII32_16BGR555:
@@ -400,7 +398,7 @@ _convert_bgr555_cheat:
jnz .L3
.L4:
jmp _mmxreturn
retn
%ifidn __OUTPUT_FORMAT__,elf
section .note.GNU-stack noalloc noexec nowrite progbits

View File

@@ -14,9 +14,6 @@ BITS 32
%include "common.inc"
SDL_FUNC _ConvertX86
SDL_FUNC _x86return
SDL_FUNC _Hermes_X86_CPU
SECTION .text
@@ -55,9 +52,8 @@ _ConvertX86:
y_loop:
mov ecx,[ebp+4]
jmp [ebp+32]
call [ebp+32]
_x86return:
add esi,[ebp+12]
add edi,[ebp+28]
@@ -74,49 +70,6 @@ endconvert:
;; Hermes_X86_CPU returns the CPUID flags in eax
_Hermes_X86_CPU:
pushfd
pop eax
mov ecx,eax
xor eax,040000h
push eax
popfd
pushfd
pop eax
xor eax,ecx
jz .L1 ; Processor is 386
push ecx
popfd
mov eax,ecx
xor eax,200000h
push eax
popfd
pushfd
pop eax
xor eax,ecx
je .L1
push ebx
mov eax,1
cpuid
mov eax,edx
pop ebx
.L1:
ret
%ifidn __OUTPUT_FORMAT__,elf
section .note.GNU-stack noalloc noexec nowrite progbits
%endif

View File

@@ -20,7 +20,6 @@ SDL_FUNC _ConvertX86p16_16BGR555
SDL_FUNC _ConvertX86p16_8RGB332
EXTERN _ConvertX86
EXTERN _x86return
SECTION .text
@@ -49,7 +48,7 @@ _ConvertX86p16_16BGR565:
dec ecx
jnz .L1
.L2
jmp _x86return
retn
.L3 ; head
mov eax,edi
@@ -127,7 +126,7 @@ _ConvertX86p16_16BGR565:
add edi,BYTE 2
.L7
jmp _x86return
retn
@@ -156,7 +155,7 @@ _ConvertX86p16_16RGB555:
dec ecx
jnz .L1
.L2
jmp _x86return
retn
.L3 ; head
mov eax,edi
@@ -235,7 +234,7 @@ _ConvertX86p16_16RGB555:
jmp SHORT .L6
.L7 pop ebp
jmp _x86return
retn
@@ -269,7 +268,7 @@ _ConvertX86p16_16BGR555:
dec ecx
jnz .L1
.L2
jmp _x86return
retn
.L3 ; head
mov eax,edi
@@ -353,7 +352,7 @@ _ConvertX86p16_16BGR555:
add edi,BYTE 2
.L7
jmp _x86return
retn
@@ -386,7 +385,7 @@ _ConvertX86p16_8RGB332:
dec ecx
jnz .L1
.L2
jmp _x86return
retn
.L3 mov eax,edi
and eax,BYTE 11b
@@ -484,7 +483,7 @@ _ConvertX86p16_8RGB332:
jnz .L6
.L7 pop ebp
jmp _x86return
retn
%ifidn __OUTPUT_FORMAT__,elf
section .note.GNU-stack noalloc noexec nowrite progbits

View File

@@ -24,8 +24,6 @@ SDL_FUNC _ConvertX86p32_16RGB555
SDL_FUNC _ConvertX86p32_16BGR555
SDL_FUNC _ConvertX86p32_8RGB332
EXTERN _x86return
SECTION .text
;; _Convert_*
@@ -53,7 +51,7 @@ _ConvertX86p32_32BGR888:
dec ecx
jnz .L1
.L2
jmp _x86return
retn
.L3 ; save ebp
push ebp
@@ -113,7 +111,7 @@ _ConvertX86p32_32BGR888:
jnz .L5
.L6 pop ebp
jmp _x86return
retn
@@ -133,7 +131,7 @@ _ConvertX86p32_32RGBA888:
dec ecx
jnz .L1
.L2
jmp _x86return
retn
.L3 ; save ebp
push ebp
@@ -184,7 +182,7 @@ _ConvertX86p32_32RGBA888:
jnz .L5
.L6 pop ebp
jmp _x86return
retn
@@ -204,7 +202,7 @@ _ConvertX86p32_32BGRA888:
dec ecx
jnz .L1
.L2
jmp _x86return
retn
.L3 ; save ebp
push ebp
@@ -257,7 +255,7 @@ _ConvertX86p32_32BGRA888:
jnz .L5
.L6 pop ebp
jmp _x86return
retn
@@ -282,7 +280,7 @@ _ConvertX86p32_24RGB888:
dec ecx
jnz .L1
.L2
jmp _x86return
retn
.L3 ; head
mov edx,edi
@@ -354,7 +352,7 @@ _ConvertX86p32_24RGB888:
jnz .L6
.L7 pop ebp
jmp _x86return
retn
@@ -380,7 +378,7 @@ _ConvertX86p32_24BGR888:
dec ecx
jnz .L1
.L2
jmp _x86return
retn
.L3 ; head
mov edx,edi
@@ -455,7 +453,7 @@ _ConvertX86p32_24BGR888:
.L7
pop ebp
jmp _x86return
retn
@@ -484,7 +482,7 @@ _ConvertX86p32_16RGB565:
jnz .L1
.L2: ; End of short loop
jmp _x86return
retn
.L3 ; head
@@ -570,7 +568,7 @@ _ConvertX86p32_16RGB565:
add edi,BYTE 2
.L7:
jmp _x86return
retn
@@ -599,7 +597,7 @@ _ConvertX86p32_16BGR565:
dec ecx
jnz .L1
.L2
jmp _x86return
retn
.L3 ; head
mov ebx,edi
@@ -684,7 +682,7 @@ _ConvertX86p32_16BGR565:
add edi,BYTE 2
.L7
jmp _x86return
retn
@@ -713,7 +711,7 @@ _ConvertX86p32_16RGB555:
dec ecx
jnz .L1
.L2
jmp _x86return
retn
.L3 ; head
mov ebx,edi
@@ -795,7 +793,7 @@ _ConvertX86p32_16RGB555:
add edi,BYTE 2
.L7
jmp _x86return
retn
@@ -825,7 +823,7 @@ _ConvertX86p32_16BGR555:
dec ecx
jnz .L1
.L2
jmp _x86return
retn
.L3 ; head
mov ebx,edi
@@ -910,7 +908,7 @@ _ConvertX86p32_16BGR555:
add edi,BYTE 2
.L7
jmp _x86return
retn
@@ -1040,7 +1038,7 @@ _ConvertX86p32_8RGB332:
jnz .L3
.L4:
jmp _x86return
retn
%ifidn __OUTPUT_FORMAT__,elf
section .note.GNU-stack noalloc noexec nowrite progbits