diff options
author | Jesse Hall <jessehall@google.com> | 2012-07-23 10:12:30 -0700 |
---|---|---|
committer | android code review <noreply-gerritcodereview@google.com> | 2012-07-23 10:12:30 -0700 |
commit | 2b3a42e7d0b441f71fc2e2b07269dd1f8151c977 (patch) | |
tree | ded6ee18c4e1f33df235e53615a6d65e2d64f4ef /distrib/sdl-1.2.15/src/hermes/HeadX86.h | |
parent | 3dcbebfd43e409c3bbff7fc79288e40666a947fd (diff) | |
parent | 9682c8870b8ff5e4ac2e4c70b759f791c6f38c1f (diff) | |
download | external_qemu-2b3a42e7d0b441f71fc2e2b07269dd1f8151c977.zip external_qemu-2b3a42e7d0b441f71fc2e2b07269dd1f8151c977.tar.gz external_qemu-2b3a42e7d0b441f71fc2e2b07269dd1f8151c977.tar.bz2 |
Merge changes I505c4aea,I2ae0529c
* changes:
Import SDL release-1.2.15
Handle SDL windows with BGRA color
Diffstat (limited to 'distrib/sdl-1.2.15/src/hermes/HeadX86.h')
-rw-r--r-- | distrib/sdl-1.2.15/src/hermes/HeadX86.h | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/distrib/sdl-1.2.15/src/hermes/HeadX86.h b/distrib/sdl-1.2.15/src/hermes/HeadX86.h new file mode 100644 index 0000000..fc6b6dd --- /dev/null +++ b/distrib/sdl-1.2.15/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 |