aboutsummaryrefslogtreecommitdiffstats
path: root/distrib/sdl-1.2.15/src/hermes/HeadMMX.h
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2012-07-23 10:12:30 -0700
committerandroid code review <noreply-gerritcodereview@google.com>2012-07-23 10:12:30 -0700
commit2b3a42e7d0b441f71fc2e2b07269dd1f8151c977 (patch)
treeded6ee18c4e1f33df235e53615a6d65e2d64f4ef /distrib/sdl-1.2.15/src/hermes/HeadMMX.h
parent3dcbebfd43e409c3bbff7fc79288e40666a947fd (diff)
parent9682c8870b8ff5e4ac2e4c70b759f791c6f38c1f (diff)
downloadexternal_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/HeadMMX.h')
-rw-r--r--distrib/sdl-1.2.15/src/hermes/HeadMMX.h100
1 files changed, 100 insertions, 0 deletions
diff --git a/distrib/sdl-1.2.15/src/hermes/HeadMMX.h b/distrib/sdl-1.2.15/src/hermes/HeadMMX.h
new file mode 100644
index 0000000..5d9850c
--- /dev/null
+++ b/distrib/sdl-1.2.15/src/hermes/HeadMMX.h
@@ -0,0 +1,100 @@
+/*
+ Header definitions for the MMX routines for the HERMES library
+ Copyright (c) 1998 Christian Nentwich (c.nentwich@cs.ucl.ac.uk)
+ This source code is licensed under the GNU LGPL
+
+ Please refer to the file COPYING.LIB contained in the distribution for
+ licensing conditions
+*/
+#include "SDL_config.h"
+
+#ifndef __HERMES_HEAD_MMX__
+#define __HERMES_HEAD_MMX__
+
+
+/* If you cannot stand ifdefs, then please do not look into this file, it's
+ going to end your life :) */
+
+#ifdef X86_ASSEMBLER
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void STACKCALL ConvertMMX(HermesConverterInterface *);
+
+void STACKCALL ClearMMX_32(HermesClearInterface *);
+void STACKCALL ClearMMX_24(HermesClearInterface *);
+void STACKCALL ClearMMX_16(HermesClearInterface *);
+void STACKCALL ClearMMX_8(HermesClearInterface *);
+
+void ConvertMMXpII32_24RGB888();
+void ConvertMMXpII32_16RGB565();
+void ConvertMMXpII32_16BGR565();
+void ConvertMMXpII32_16RGB555();
+void ConvertMMXpII32_16BGR565();
+void ConvertMMXpII32_16BGR555();
+
+void ConvertMMXp32_16RGB555();
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+/* Fix the underscore business with ELF compilers */
+
+#if (defined(__ELF__) && defined(__GNUC__)) || defined(__SUNPRO_C)
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+ extern void _ConvertMMX(HermesConverterInterface *);
+ extern void _ConvertMMXpII32_24RGB888();
+ extern void _ConvertMMXpII32_16RGB565();
+ extern void _ConvertMMXpII32_16BGR565();
+ extern void _ConvertMMXpII32_16RGB555();
+ extern void _ConvertMMXpII32_16BGR555();
+
+ #define ConvertMMX _ConvertMMX
+ #define ConvertMMXpII32_24RGB888 _ConvertMMXpII32_24RGB888
+ #define ConvertMMXpII32_16RGB565 _ConvertMMXpII32_16RGB565
+ #define ConvertMMXpII32_16BGR565 _ConvertMMXpII32_16BGR565
+ #define ConvertMMXpII32_16RGB555 _ConvertMMXpII32_16RGB555
+ #define ConvertMMXpII32_16BGR555 _ConvertMMXpII32_16BGR555
+
+ #ifdef __cplusplus
+ }
+ #endif
+
+#endif /* ELF and GNUC */
+
+
+
+
+/* Make it work with Watcom */
+#ifdef __WATCOMC__
+#pragma warning 601 9
+
+#pragma aux ConvertMMX "_*" modify [EAX EBX ECX EDX ESI EDI]
+
+#pragma aux ClearMMX_32 "_*" modify [EAX EBX ECX EDX ESI EDI]
+#pragma aux ClearMMX_24 "_*" modify [EAX EBX ECX EDX ESI EDI]
+#pragma aux ClearMMX_16 "_*" modify [EAX EBX ECX EDX ESI EDI]
+#pragma aux ClearMMX_8 "_*" modify [EAX EBX ECX EDX ESI EDI]
+
+#pragma aux ConvertMMXpII32_24RGB888 "_*"
+#pragma aux ConvertMMXpII32_16RGB565 "_*"
+#pragma aux ConvertMMXpII32_16BGR565 "_*"
+#pragma aux ConvertMMXpII32_16RGB555 "_*"
+#pragma aux ConvertMMXpII32_16BGR555 "_*"
+#pragma aux ConvertMMXp32_16RGB555 "_*"
+
+#endif /* WATCOM */
+
+#endif /* X86_ASSEMBLER */
+
+
+#endif