Mercurial > sdl-ios-xcode
annotate src/hermes/HeadX86.h @ 4061:95ecf165f113 SDL-1.2
Mac OS X thinks we want a function call to SDL_memcpy() and not memcpy() here,
thanks to macro replacement issues.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Sat, 14 Jul 2007 06:45:01 +0000 |
parents | bb5ace455586 |
children | 782fd950bd46 c121d94672cb 39b9405d3cb6 |
rev | line source |
---|---|
0 | 1 /* |
2 Header definitions for the x86 routines for the HERMES library | |
3 Copyright (c) 1998 Christian Nentwich (brn@eleet.mcb.at) | |
4 This source code is licensed under the GNU LGPL | |
5 | |
6 Please refer to the file COPYING.LIB contained in the distribution for | |
7 licensing conditions | |
8 */ | |
9 | |
10 #ifndef __HERMES_HEAD_X86__ | |
11 #define __HERMES_HEAD_X86__ | |
12 | |
13 | |
14 #ifdef X86_ASSEMBLER | |
15 | |
16 /* If you can't stand IFDEFS, then close your eyes now, please :) */ | |
17 | |
18 /* Ok, we start with normal function definitions */ | |
19 #ifdef __cplusplus | |
20 extern "C" { | |
21 #endif | |
22 | |
23 | |
24 void STACKCALL ConvertX86(HermesConverterInterface *); | |
25 void STACKCALL ClearX86_32(HermesClearInterface *); | |
26 void STACKCALL ClearX86_24(HermesClearInterface *); | |
27 void STACKCALL ClearX86_16(HermesClearInterface *); | |
28 void STACKCALL ClearX86_8(HermesClearInterface *); | |
29 | |
30 int STACKCALL Hermes_X86_CPU(); | |
31 | |
32 void ConvertX86p32_32BGR888(); | |
33 void ConvertX86p32_32RGBA888(); | |
34 void ConvertX86p32_32BGRA888(); | |
35 void ConvertX86p32_24RGB888(); | |
36 void ConvertX86p32_24BGR888(); | |
37 void ConvertX86p32_16RGB565(); | |
38 void ConvertX86p32_16BGR565(); | |
39 void ConvertX86p32_16RGB555(); | |
40 void ConvertX86p32_16BGR555(); | |
41 void ConvertX86p32_8RGB332(); | |
42 | |
43 void ConvertX86p16_32RGB888(); | |
44 void ConvertX86p16_32BGR888(); | |
45 void ConvertX86p16_32RGBA888(); | |
46 void ConvertX86p16_32BGRA888(); | |
47 void ConvertX86p16_24RGB888(); | |
48 void ConvertX86p16_24BGR888(); | |
49 void ConvertX86p16_16BGR565(); | |
50 void ConvertX86p16_16RGB555(); | |
51 void ConvertX86p16_16BGR555(); | |
52 void ConvertX86p16_8RGB332(); | |
53 | |
54 void CopyX86p_4byte(); | |
55 void CopyX86p_3byte(); | |
56 void CopyX86p_2byte(); | |
57 void CopyX86p_1byte(); | |
58 | |
59 void ConvertX86pI8_32(); | |
60 void ConvertX86pI8_24(); | |
61 void ConvertX86pI8_16(); | |
62 | |
366
c94b390687d2
Avoid a conflict in the definition of int32
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
63 extern int ConvertX86p16_32RGB888_LUT_X86[512]; |
c94b390687d2
Avoid a conflict in the definition of int32
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
64 extern int ConvertX86p16_32BGR888_LUT_X86[512]; |
c94b390687d2
Avoid a conflict in the definition of int32
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
65 extern int ConvertX86p16_32RGBA888_LUT_X86[512]; |
c94b390687d2
Avoid a conflict in the definition of int32
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
66 extern int ConvertX86p16_32BGRA888_LUT_X86[512]; |
0 | 67 |
68 #ifdef __cplusplus | |
69 } | |
70 #endif | |
71 | |
72 | |
73 | |
74 | |
75 /* Now fix up the ELF underscore problem */ | |
76 | |
77 #if defined(__ELF__) && defined(__GNUC__) | |
78 #ifdef __cplusplus | |
79 extern "C" { | |
80 #endif | |
81 | |
1197
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
82 extern int _Hermes_X86_CPU(); |
0 | 83 |
1197
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
84 extern void _ConvertX86(HermesConverterInterface *); |
0 | 85 |
1197
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
86 extern void _ConvertX86p32_32BGR888(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
87 extern void _ConvertX86p32_32RGBA888(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
88 extern void _ConvertX86p32_32BGRA888(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
89 extern void _ConvertX86p32_24RGB888(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
90 extern void _ConvertX86p32_24BGR888(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
91 extern void _ConvertX86p32_16RGB565(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
92 extern void _ConvertX86p32_16BGR565(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
93 extern void _ConvertX86p32_16RGB555(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
94 extern void _ConvertX86p32_16BGR555(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
95 extern void _ConvertX86p32_8RGB332(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
96 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
97 extern void _ConvertX86p16_16BGR565(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
98 extern void _ConvertX86p16_16RGB555(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
99 extern void _ConvertX86p16_16BGR555(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
100 extern void _ConvertX86p16_8RGB332(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
101 |
0 | 102 |
1197
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
103 #define Hermes_X86_CPU _Hermes_X86_CPU |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
104 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
105 #define ConvertX86 _ConvertX86 |
0 | 106 |
1197
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
107 #define ConvertX86p32_32BGR888 _ConvertX86p32_32BGR888 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
108 #define ConvertX86p32_32RGBA888 _ConvertX86p32_32RGBA888 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
109 #define ConvertX86p32_32BGRA888 _ConvertX86p32_32BGRA888 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
110 #define ConvertX86p32_24RGB888 _ConvertX86p32_24RGB888 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
111 #define ConvertX86p32_24BGR888 _ConvertX86p32_24BGR888 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
112 #define ConvertX86p32_16RGB565 _ConvertX86p32_16RGB565 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
113 #define ConvertX86p32_16BGR565 _ConvertX86p32_16BGR565 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
114 #define ConvertX86p32_16RGB555 _ConvertX86p32_16RGB555 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
115 #define ConvertX86p32_16BGR555 _ConvertX86p32_16BGR555 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
116 #define ConvertX86p32_8RGB332 _ConvertX86p32_8RGB332 |
0 | 117 |
1197
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
118 #define ConvertX86p16_16BGR565 _ConvertX86p16_16BGR565 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
119 #define ConvertX86p16_16RGB555 _ConvertX86p16_16RGB555 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
120 #define ConvertX86p16_16BGR555 _ConvertX86p16_16BGR555 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
366
diff
changeset
|
121 #define ConvertX86p16_8RGB332 _ConvertX86p16_8RGB332 |
0 | 122 |
123 | |
124 #ifdef __cplusplus | |
125 } | |
126 #endif | |
127 | |
128 #endif /* ELF & GNU */ | |
129 | |
130 | |
131 | |
132 /* Make it run with WATCOM C */ | |
133 #ifdef __WATCOMC__ | |
134 #pragma warning 601 9 | |
135 | |
136 #pragma aux Hermes_X86_CPU "_*" | |
137 | |
138 #pragma aux ConvertX86 "_*" modify [EAX EBX ECX EDX ESI EDI] | |
139 #pragma aux ClearX86_32 "_*" modify [EAX EBX ECX EDX ESI EDI] | |
140 #pragma aux ClearX86_24 "_*" modify [EAX EBX ECX EDX ESI EDI] | |
141 #pragma aux ClearX86_16 "_*" modify [EAX EBX ECX EDX ESI EDI] | |
142 #pragma aux ClearX86_8 "_*" modify [EAX EBX ECX EDX ESI EDI] | |
143 | |
144 #pragma aux ConvertX86p32_32BGR888 "_*" | |
145 #pragma aux ConvertX86p32_32RGBA888 "_*" | |
146 #pragma aux ConvertX86p32_32BGRA888 "_*" | |
147 #pragma aux ConvertX86p32_24RGB888 "_*" | |
148 #pragma aux ConvertX86p32_24BGR888 "_*" | |
149 #pragma aux ConvertX86p32_16RGB565 "_*" | |
150 #pragma aux ConvertX86p32_16BGR565 "_*" | |
151 #pragma aux ConvertX86p32_16RGB555 "_*" | |
152 #pragma aux ConvertX86p32_16BGR555 "_*" | |
153 #pragma aux ConvertX86p32_8RGB332 "_*" | |
154 | |
155 #pragma aux ConvertX86p16_32RGB888 "_*" | |
156 #pragma aux ConvertX86p16_32BGR888 "_*" | |
157 #pragma aux ConvertX86p16_32RGBA888 "_*" | |
158 #pragma aux ConvertX86p16_32BGRA888 "_*" | |
159 #pragma aux ConvertX86p16_24RGB888 "_*" | |
160 #pragma aux ConvertX86p16_24BGR888 "_*" | |
161 #pragma aux ConvertX86p16_16BGR565 "_*" | |
162 #pragma aux ConvertX86p16_16RGB555 "_*" | |
163 #pragma aux ConvertX86p16_16BGR555 "_*" | |
164 #pragma aux ConvertX86p16_8RGB332 "_*" | |
165 | |
166 #pragma aux CopyX86p_4byte "_*" | |
167 #pragma aux CopyX86p_3byte "_*" | |
168 #pragma aux CopyX86p_2byte "_*" | |
169 #pragma aux CopyX86p_1byte "_*" | |
170 | |
171 #pragma aux ConvertX86pI8_32 "_*" | |
172 #pragma aux ConvertX86pI8_24 "_*" | |
173 #pragma aux ConvertX86pI8_16 "_*" | |
174 | |
175 #pragma aux ConvertX86p16_32RGB888_LUT_X86 "_*" | |
176 #pragma aux ConvertX86p16_32BGR888_LUT_X86 "_*" | |
177 #pragma aux ConvertX86p16_32RGBA888_LUT_X86 "_*" | |
178 #pragma aux ConvertX86p16_32BGRA888_LUT_X86 "_*" | |
179 | |
180 #endif /* __WATCOMC__ */ | |
181 | |
182 | |
183 #endif /* X86_ASSEMBLER */ | |
184 | |
185 | |
186 #endif |