diff options
author | Graydon, Tracy <tracy.graydon@intel.com> | 2012-11-28 19:43:53 -0800 |
---|---|---|
committer | Graydon, Tracy <tracy.graydon@intel.com> | 2012-11-28 19:43:53 -0800 |
commit | 55af18608e149dd3930e420014068df6fe416552 (patch) | |
tree | 3d85f5ddc0de53fce59b0a8a4dcd9891e58a43eb /src/hermes/HeadX86.h | |
download | SDL-55af18608e149dd3930e420014068df6fe416552.tar.gz SDL-55af18608e149dd3930e420014068df6fe416552.tar.bz2 SDL-55af18608e149dd3930e420014068df6fe416552.zip |
Initial commit for Tizensubmit/1.0/20121129.034415
Diffstat (limited to 'src/hermes/HeadX86.h')
-rw-r--r-- | src/hermes/HeadX86.h | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/src/hermes/HeadX86.h b/src/hermes/HeadX86.h new file mode 100644 index 0000000..fc6b6dd --- /dev/null +++ b/src/hermes/HeadX86.h @@ -0,0 +1,186 @@ +/* + Header definitions for the x86 routines for the HERMES library + Copyright (c) 1998 Christian Nentwich (brn@eleet.mcb.at) + This source code is licensed under the GNU LGPL + + Please refer to the file COPYING.LIB contained in the distribution for + licensing conditions +*/ + +#ifndef __HERMES_HEAD_X86__ +#define __HERMES_HEAD_X86__ + + +#ifdef X86_ASSEMBLER + +/* If you can't stand IFDEFS, then close your eyes now, please :) */ + +/* Ok, we start with normal function definitions */ +#ifdef __cplusplus +extern "C" { +#endif + + +void STACKCALL ConvertX86(HermesConverterInterface *); +void STACKCALL ClearX86_32(HermesClearInterface *); +void STACKCALL ClearX86_24(HermesClearInterface *); +void STACKCALL ClearX86_16(HermesClearInterface *); +void STACKCALL ClearX86_8(HermesClearInterface *); + +int STACKCALL Hermes_X86_CPU(); + +void ConvertX86p32_32BGR888(); +void ConvertX86p32_32RGBA888(); +void ConvertX86p32_32BGRA888(); +void ConvertX86p32_24RGB888(); +void ConvertX86p32_24BGR888(); +void ConvertX86p32_16RGB565(); +void ConvertX86p32_16BGR565(); +void ConvertX86p32_16RGB555(); +void ConvertX86p32_16BGR555(); +void ConvertX86p32_8RGB332(); + +void ConvertX86p16_32RGB888(); +void ConvertX86p16_32BGR888(); +void ConvertX86p16_32RGBA888(); +void ConvertX86p16_32BGRA888(); +void ConvertX86p16_24RGB888(); +void ConvertX86p16_24BGR888(); +void ConvertX86p16_16BGR565(); +void ConvertX86p16_16RGB555(); +void ConvertX86p16_16BGR555(); +void ConvertX86p16_8RGB332(); + +void CopyX86p_4byte(); +void CopyX86p_3byte(); +void CopyX86p_2byte(); +void CopyX86p_1byte(); + +void ConvertX86pI8_32(); +void ConvertX86pI8_24(); +void ConvertX86pI8_16(); + +extern int ConvertX86p16_32RGB888_LUT_X86[512]; +extern int ConvertX86p16_32BGR888_LUT_X86[512]; +extern int ConvertX86p16_32RGBA888_LUT_X86[512]; +extern int ConvertX86p16_32BGRA888_LUT_X86[512]; + +#ifdef __cplusplus +} +#endif + + + + +/* Now fix up the ELF underscore problem */ + +#if (defined(__ELF__) && defined(__GNUC__)) || defined(__SUNPRO_C) + #ifdef __cplusplus + extern "C" { + #endif + + extern int _Hermes_X86_CPU(); + + extern void _ConvertX86(HermesConverterInterface *); + + extern void _ConvertX86p32_32BGR888(); + extern void _ConvertX86p32_32RGBA888(); + extern void _ConvertX86p32_32BGRA888(); + extern void _ConvertX86p32_24RGB888(); + extern void _ConvertX86p32_24BGR888(); + extern void _ConvertX86p32_16RGB565(); + extern void _ConvertX86p32_16BGR565(); + extern void _ConvertX86p32_16RGB555(); + extern void _ConvertX86p32_16BGR555(); + extern void _ConvertX86p32_8RGB332(); + + extern void _ConvertX86p16_16BGR565(); + extern void _ConvertX86p16_16RGB555(); + extern void _ConvertX86p16_16BGR555(); + extern void _ConvertX86p16_8RGB332(); + + + #define Hermes_X86_CPU _Hermes_X86_CPU + + #define ConvertX86 _ConvertX86 + + #define ConvertX86p32_32BGR888 _ConvertX86p32_32BGR888 + #define ConvertX86p32_32RGBA888 _ConvertX86p32_32RGBA888 + #define ConvertX86p32_32BGRA888 _ConvertX86p32_32BGRA888 + #define ConvertX86p32_24RGB888 _ConvertX86p32_24RGB888 + #define ConvertX86p32_24BGR888 _ConvertX86p32_24BGR888 + #define ConvertX86p32_16RGB565 _ConvertX86p32_16RGB565 + #define ConvertX86p32_16BGR565 _ConvertX86p32_16BGR565 + #define ConvertX86p32_16RGB555 _ConvertX86p32_16RGB555 + #define ConvertX86p32_16BGR555 _ConvertX86p32_16BGR555 + #define ConvertX86p32_8RGB332 _ConvertX86p32_8RGB332 + + #define ConvertX86p16_16BGR565 _ConvertX86p16_16BGR565 + #define ConvertX86p16_16RGB555 _ConvertX86p16_16RGB555 + #define ConvertX86p16_16BGR555 _ConvertX86p16_16BGR555 + #define ConvertX86p16_8RGB332 _ConvertX86p16_8RGB332 + + + #ifdef __cplusplus + } + #endif + +#endif /* ELF & GNU */ + + + +/* Make it run with WATCOM C */ +#ifdef __WATCOMC__ +#pragma warning 601 9 + +#pragma aux Hermes_X86_CPU "_*" + +#pragma aux ConvertX86 "_*" modify [EAX EBX ECX EDX ESI EDI] +#pragma aux ClearX86_32 "_*" modify [EAX EBX ECX EDX ESI EDI] +#pragma aux ClearX86_24 "_*" modify [EAX EBX ECX EDX ESI EDI] +#pragma aux ClearX86_16 "_*" modify [EAX EBX ECX EDX ESI EDI] +#pragma aux ClearX86_8 "_*" modify [EAX EBX ECX EDX ESI EDI] + +#pragma aux ConvertX86p32_32BGR888 "_*" +#pragma aux ConvertX86p32_32RGBA888 "_*" +#pragma aux ConvertX86p32_32BGRA888 "_*" +#pragma aux ConvertX86p32_24RGB888 "_*" +#pragma aux ConvertX86p32_24BGR888 "_*" +#pragma aux ConvertX86p32_16RGB565 "_*" +#pragma aux ConvertX86p32_16BGR565 "_*" +#pragma aux ConvertX86p32_16RGB555 "_*" +#pragma aux ConvertX86p32_16BGR555 "_*" +#pragma aux ConvertX86p32_8RGB332 "_*" + +#pragma aux ConvertX86p16_32RGB888 "_*" +#pragma aux ConvertX86p16_32BGR888 "_*" +#pragma aux ConvertX86p16_32RGBA888 "_*" +#pragma aux ConvertX86p16_32BGRA888 "_*" +#pragma aux ConvertX86p16_24RGB888 "_*" +#pragma aux ConvertX86p16_24BGR888 "_*" +#pragma aux ConvertX86p16_16BGR565 "_*" +#pragma aux ConvertX86p16_16RGB555 "_*" +#pragma aux ConvertX86p16_16BGR555 "_*" +#pragma aux ConvertX86p16_8RGB332 "_*" + +#pragma aux CopyX86p_4byte "_*" +#pragma aux CopyX86p_3byte "_*" +#pragma aux CopyX86p_2byte "_*" +#pragma aux CopyX86p_1byte "_*" + +#pragma aux ConvertX86pI8_32 "_*" +#pragma aux ConvertX86pI8_24 "_*" +#pragma aux ConvertX86pI8_16 "_*" + +#pragma aux ConvertX86p16_32RGB888_LUT_X86 "_*" +#pragma aux ConvertX86p16_32BGR888_LUT_X86 "_*" +#pragma aux ConvertX86p16_32RGBA888_LUT_X86 "_*" +#pragma aux ConvertX86p16_32BGRA888_LUT_X86 "_*" + +#endif /* __WATCOMC__ */ + + +#endif /* X86_ASSEMBLER */ + + +#endif |