mirror of
https://github.com/yawut/SDL.git
synced 2026-08-24 09:45:09 -05:00
Merged r3106:3107 from branches/SDL-1.2: Hermes PIC fixes.
This commit is contained in:
@@ -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]
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user