Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Latest commit

 

History

History
103 lines (72 loc) · 2.66 KB

HeadMMX.h

File metadata and controls

103 lines (72 loc) · 2.66 KB
 
Apr 26, 2001
Apr 26, 2001
1
2
3
4
5
6
7
8
/*
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
*/
Feb 21, 2006
Feb 21, 2006
9
#include "SDL_config.h"
Apr 26, 2001
Apr 26, 2001
10
11
12
13
14
15
16
17
18
19
20
21
#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
Jul 10, 2006
Jul 10, 2006
22
23
extern "C"
{
Apr 26, 2001
Apr 26, 2001
24
25
#endif
Jul 10, 2006
Jul 10, 2006
26
void STACKCALL ConvertMMX(HermesConverterInterface *);
Apr 26, 2001
Apr 26, 2001
27
Jul 10, 2006
Jul 10, 2006
28
29
30
31
void STACKCALL ClearMMX_32(HermesClearInterface *);
void STACKCALL ClearMMX_24(HermesClearInterface *);
void STACKCALL ClearMMX_16(HermesClearInterface *);
void STACKCALL ClearMMX_8(HermesClearInterface *);
Apr 26, 2001
Apr 26, 2001
32
Jul 10, 2006
Jul 10, 2006
33
34
35
36
37
38
void ConvertMMXpII32_24RGB888();
void ConvertMMXpII32_16RGB565();
void ConvertMMXpII32_16BGR565();
void ConvertMMXpII32_16RGB555();
void ConvertMMXpII32_16BGR565();
void ConvertMMXpII32_16BGR555();
Apr 26, 2001
Apr 26, 2001
39
Jul 10, 2006
Jul 10, 2006
40
void ConvertMMXp32_16RGB555();
Apr 26, 2001
Apr 26, 2001
41
42
43
44
45
46
47
48
49
50
#ifdef __cplusplus
}
#endif
/* Fix the underscore business with ELF compilers */
#if defined(__ELF__) && defined(__GNUC__)
Jul 10, 2006
Jul 10, 2006
51
52
53
54
#ifdef __cplusplus
extern "C"
{
#endif
Apr 26, 2001
Apr 26, 2001
55
Jul 10, 2006
Jul 10, 2006
56
57
58
59
60
61
extern void _ConvertMMX(HermesConverterInterface *);
extern void _ConvertMMXpII32_24RGB888();
extern void _ConvertMMXpII32_16RGB565();
extern void _ConvertMMXpII32_16BGR565();
extern void _ConvertMMXpII32_16RGB555();
extern void _ConvertMMXpII32_16BGR555();
Dec 8, 2005
Dec 8, 2005
62
Jul 10, 2006
Jul 10, 2006
63
64
65
66
67
68
#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
Apr 26, 2001
Apr 26, 2001
69
Jul 10, 2006
Jul 10, 2006
70
71
72
#ifdef __cplusplus
}
#endif
Apr 26, 2001
Apr 26, 2001
73
Jul 10, 2006
Jul 10, 2006
74
#endif /* ELF and GNUC */
Apr 26, 2001
Apr 26, 2001
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/* 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 "_*"
Jul 10, 2006
Jul 10, 2006
97
#endif /* WATCOM */
Apr 26, 2001
Apr 26, 2001
98
Jul 10, 2006
Jul 10, 2006
99
#endif /* X86_ASSEMBLER */
Apr 26, 2001
Apr 26, 2001
100
101
102
#endif
Jul 10, 2006
Jul 10, 2006
103
/* vi: set ts=4 sw=4 expandtab: */