Mercurial > sdl-ios-xcode
annotate src/hermes/HeadMMX.h @ 4222:6823a52d06fa SDL-1.2
Fixed bug #714
fuzzyTew@gmail.com 2009-03-14 15:18:45 PDT
Created an attachment (id=305) [details]
patch to change HAVE_ICONV to HAVE_ICONV_H
There are two separate iconv checks in configure -- one for the header file and
one for the library. include/SDL_stdinc.h uses the library define to see
whether or not it should reference the types defined in the header, which
naturally breaks if the library exists and the header does not.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 21 Sep 2009 11:04:32 +0000 |
parents | 39b9405d3cb6 |
children |
rev | line source |
---|---|
0 | 1 /* |
2 Header definitions for the MMX routines for the HERMES library | |
3 Copyright (c) 1998 Christian Nentwich (c.nentwich@cs.ucl.ac.uk) | |
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 */ | |
1402
d910939febfa
Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents:
1197
diff
changeset
|
9 #include "SDL_config.h" |
0 | 10 |
11 #ifndef __HERMES_HEAD_MMX__ | |
12 #define __HERMES_HEAD_MMX__ | |
13 | |
14 | |
15 /* If you cannot stand ifdefs, then please do not look into this file, it's | |
16 going to end your life :) */ | |
17 | |
18 #ifdef X86_ASSEMBLER | |
19 | |
20 | |
21 #ifdef __cplusplus | |
22 extern "C" { | |
23 #endif | |
24 | |
25 void STACKCALL ConvertMMX(HermesConverterInterface *); | |
26 | |
27 void STACKCALL ClearMMX_32(HermesClearInterface *); | |
28 void STACKCALL ClearMMX_24(HermesClearInterface *); | |
29 void STACKCALL ClearMMX_16(HermesClearInterface *); | |
30 void STACKCALL ClearMMX_8(HermesClearInterface *); | |
31 | |
32 void ConvertMMXpII32_24RGB888(); | |
33 void ConvertMMXpII32_16RGB565(); | |
34 void ConvertMMXpII32_16BGR565(); | |
35 void ConvertMMXpII32_16RGB555(); | |
36 void ConvertMMXpII32_16BGR565(); | |
37 void ConvertMMXpII32_16BGR555(); | |
38 | |
39 void ConvertMMXp32_16RGB555(); | |
40 | |
41 #ifdef __cplusplus | |
42 } | |
43 #endif | |
44 | |
45 | |
46 | |
47 /* Fix the underscore business with ELF compilers */ | |
48 | |
4152
39b9405d3cb6
Deal with ELF underscores on Solaris with Sun Studio.
Ryan C. Gordon <icculus@icculus.org>
parents:
1402
diff
changeset
|
49 #if (defined(__ELF__) && defined(__GNUC__)) || defined(__SUNPRO_C) |
0 | 50 #ifdef __cplusplus |
51 extern "C" { | |
52 #endif | |
53 | |
1197
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
54 extern void _ConvertMMX(HermesConverterInterface *); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
55 extern void _ConvertMMXpII32_24RGB888(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
56 extern void _ConvertMMXpII32_16RGB565(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
57 extern void _ConvertMMXpII32_16BGR565(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
58 extern void _ConvertMMXpII32_16RGB555(); |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
59 extern void _ConvertMMXpII32_16BGR555(); |
0 | 60 |
1197
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
61 #define ConvertMMX _ConvertMMX |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
62 #define ConvertMMXpII32_24RGB888 _ConvertMMXpII32_24RGB888 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
63 #define ConvertMMXpII32_16RGB565 _ConvertMMXpII32_16RGB565 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
64 #define ConvertMMXpII32_16BGR565 _ConvertMMXpII32_16BGR565 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
65 #define ConvertMMXpII32_16RGB555 _ConvertMMXpII32_16RGB555 |
bb5ace455586
Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
66 #define ConvertMMXpII32_16BGR555 _ConvertMMXpII32_16BGR555 |
0 | 67 |
68 #ifdef __cplusplus | |
69 } | |
70 #endif | |
71 | |
72 #endif /* ELF and GNUC */ | |
73 | |
74 | |
75 | |
76 | |
77 /* Make it work with Watcom */ | |
78 #ifdef __WATCOMC__ | |
79 #pragma warning 601 9 | |
80 | |
81 #pragma aux ConvertMMX "_*" modify [EAX EBX ECX EDX ESI EDI] | |
82 | |
83 #pragma aux ClearMMX_32 "_*" modify [EAX EBX ECX EDX ESI EDI] | |
84 #pragma aux ClearMMX_24 "_*" modify [EAX EBX ECX EDX ESI EDI] | |
85 #pragma aux ClearMMX_16 "_*" modify [EAX EBX ECX EDX ESI EDI] | |
86 #pragma aux ClearMMX_8 "_*" modify [EAX EBX ECX EDX ESI EDI] | |
87 | |
88 #pragma aux ConvertMMXpII32_24RGB888 "_*" | |
89 #pragma aux ConvertMMXpII32_16RGB565 "_*" | |
90 #pragma aux ConvertMMXpII32_16BGR565 "_*" | |
91 #pragma aux ConvertMMXpII32_16RGB555 "_*" | |
92 #pragma aux ConvertMMXpII32_16BGR555 "_*" | |
93 #pragma aux ConvertMMXp32_16RGB555 "_*" | |
94 | |
95 #endif /* WATCOM */ | |
96 | |
97 #endif /* X86_ASSEMBLER */ | |
98 | |
99 | |
100 #endif |