Skip to content

Commit

Permalink
Removed textrels from hermes code.
Browse files Browse the repository at this point in the history
  Partially fixes Bugzilla #418.
  • Loading branch information
icculus committed Jun 27, 2007
1 parent e648d7c commit dfc4d0f
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 87 deletions.
4 changes: 1 addition & 3 deletions src/hermes/mmx_main.asm
Expand Up @@ -12,7 +12,6 @@ BITS 32
%include "common.inc"

SDL_FUNC _ConvertMMX
SDL_FUNC _mmxreturn

SECTION .text
Expand Down Expand Up @@ -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]
Expand Down
10 changes: 4 additions & 6 deletions src/hermes/mmxp2_32.asm
Expand Up @@ -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
Expand Down Expand Up @@ -121,7 +119,7 @@ _ConvertMMXpII32_24RGB888:
dec ecx
jnz .L3
.L4:
jmp _mmxreturn
return



Expand Down Expand Up @@ -190,7 +188,7 @@ _ConvertMMXpII32_16RGB565:
jnz .L3

.L4:
jmp _mmxreturn
retn

_ConvertMMXpII32_16BGR565:
Expand Down Expand Up @@ -260,7 +258,7 @@ _ConvertMMXpII32_16BGR565:
jnz .L3

.L4:
jmp _mmxreturn
retn

_ConvertMMXpII32_16BGR555:

Expand Down Expand Up @@ -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
Expand Down
49 changes: 1 addition & 48 deletions src/hermes/x86_main.asm
Expand Up @@ -14,9 +14,6 @@ BITS 32
%include "common.inc"

SDL_FUNC _ConvertX86
SDL_FUNC _x86return
SDL_FUNC _Hermes_X86_CPU

SECTION .text
Expand Down Expand Up @@ -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]
Expand All @@ -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
17 changes: 8 additions & 9 deletions src/hermes/x86p_16.asm
Expand Up @@ -20,7 +20,6 @@ SDL_FUNC _ConvertX86p16_16BGR555
SDL_FUNC _ConvertX86p16_8RGB332

EXTERN _ConvertX86
EXTERN _x86return

SECTION .text

Expand Down Expand Up @@ -49,7 +48,7 @@ _ConvertX86p16_16BGR565:
dec ecx
jnz .L1
.L2
jmp _x86return
retn

.L3 ; head
mov eax,edi
Expand Down Expand Up @@ -127,7 +126,7 @@ _ConvertX86p16_16BGR565:
add edi,BYTE 2

.L7
jmp _x86return
retn



Expand Down Expand Up @@ -156,7 +155,7 @@ _ConvertX86p16_16RGB555:
dec ecx
jnz .L1
.L2
jmp _x86return
retn

.L3 ; head
mov eax,edi
Expand Down Expand Up @@ -235,7 +234,7 @@ _ConvertX86p16_16RGB555:
jmp SHORT .L6

.L7 pop ebp
jmp _x86return
retn



Expand Down Expand Up @@ -269,7 +268,7 @@ _ConvertX86p16_16BGR555:
dec ecx
jnz .L1
.L2
jmp _x86return
retn

.L3 ; head
mov eax,edi
Expand Down Expand Up @@ -353,7 +352,7 @@ _ConvertX86p16_16BGR555:
add edi,BYTE 2

.L7
jmp _x86return
retn



Expand Down Expand Up @@ -386,7 +385,7 @@ _ConvertX86p16_8RGB332:
dec ecx
jnz .L1
.L2
jmp _x86return
retn

.L3 mov eax,edi
and eax,BYTE 11b
Expand Down Expand Up @@ -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
Expand Down
40 changes: 19 additions & 21 deletions src/hermes/x86p_32.asm
Expand Up @@ -24,8 +24,6 @@ SDL_FUNC _ConvertX86p32_16RGB555
SDL_FUNC _ConvertX86p32_16BGR555
SDL_FUNC _ConvertX86p32_8RGB332

EXTERN _x86return
SECTION .text

;; _Convert_*
Expand Down Expand Up @@ -53,7 +51,7 @@ _ConvertX86p32_32BGR888:
dec ecx
jnz .L1
.L2
jmp _x86return
retn

.L3 ; save ebp
push ebp
Expand Down Expand Up @@ -113,7 +111,7 @@ _ConvertX86p32_32BGR888:
jnz .L5

.L6 pop ebp
jmp _x86return
retn

Expand All @@ -133,7 +131,7 @@ _ConvertX86p32_32RGBA888:
dec ecx
jnz .L1
.L2
jmp _x86return
retn

.L3 ; save ebp
push ebp
Expand Down Expand Up @@ -184,7 +182,7 @@ _ConvertX86p32_32RGBA888:
jnz .L5

.L6 pop ebp
jmp _x86return
retn


Expand All @@ -204,7 +202,7 @@ _ConvertX86p32_32BGRA888:
dec ecx
jnz .L1
.L2
jmp _x86return
retn

.L3 ; save ebp
push ebp
Expand Down Expand Up @@ -257,7 +255,7 @@ _ConvertX86p32_32BGRA888:
jnz .L5

.L6 pop ebp
jmp _x86return
retn


Expand All @@ -282,7 +280,7 @@ _ConvertX86p32_24RGB888:
dec ecx
jnz .L1
.L2
jmp _x86return
retn

.L3 ; head
mov edx,edi
Expand Down Expand Up @@ -354,7 +352,7 @@ _ConvertX86p32_24RGB888:
jnz .L6

.L7 pop ebp
jmp _x86return
retn



Expand All @@ -380,7 +378,7 @@ _ConvertX86p32_24BGR888:
dec ecx
jnz .L1
.L2
jmp _x86return
retn

.L3 ; head
mov edx,edi
Expand Down Expand Up @@ -455,7 +453,7 @@ _ConvertX86p32_24BGR888:

.L7
pop ebp
jmp _x86return
retn

Expand Down Expand Up @@ -484,7 +482,7 @@ _ConvertX86p32_16RGB565:
jnz .L1

.L2: ; End of short loop
jmp _x86return
retn

.L3 ; head
Expand Down Expand Up @@ -570,7 +568,7 @@ _ConvertX86p32_16RGB565:
add edi,BYTE 2

.L7:
jmp _x86return
retn



Expand Down Expand Up @@ -599,7 +597,7 @@ _ConvertX86p32_16BGR565:
dec ecx
jnz .L1
.L2
jmp _x86return
retn

.L3 ; head
mov ebx,edi
Expand Down Expand Up @@ -684,7 +682,7 @@ _ConvertX86p32_16BGR565:
add edi,BYTE 2

.L7
jmp _x86return
retn


Expand Down Expand Up @@ -713,7 +711,7 @@ _ConvertX86p32_16RGB555:
dec ecx
jnz .L1
.L2
jmp _x86return
retn

.L3 ; head
mov ebx,edi
Expand Down Expand Up @@ -795,7 +793,7 @@ _ConvertX86p32_16RGB555:
add edi,BYTE 2

.L7
jmp _x86return
retn



Expand Down Expand Up @@ -825,7 +823,7 @@ _ConvertX86p32_16BGR555:
dec ecx
jnz .L1
.L2
jmp _x86return
retn

.L3 ; head
mov ebx,edi
Expand Down Expand Up @@ -910,7 +908,7 @@ _ConvertX86p32_16BGR555:
add edi,BYTE 2

.L7
jmp _x86return
retn



Expand Down Expand Up @@ -1040,7 +1038,7 @@ _ConvertX86p32_8RGB332:
jnz .L3
.L4:
jmp _x86return
retn

%ifidn __OUTPUT_FORMAT__,elf
section .note.GNU-stack noalloc noexec nowrite progbits
Expand Down

0 comments on commit dfc4d0f

Please sign in to comment.