replaced components with internalFormat
[mesa.git] / src / mesa / x86 / common_x86.c
1 /* $Id: common_x86.c,v 1.6 2000/01/25 17:04:47 brianp Exp $ */
2
3 /*
4 * Mesa 3-D graphics library
5 * Version: 3.3
6 *
7 * Copyright (C) 1999-2000 Brian Paul All Rights Reserved.
8 *
9 * Permission is hereby granted, free of charge, to any person obtaining a
10 * copy of this software and associated documentation files (the "Software"),
11 * to deal in the Software without restriction, including without limitation
12 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
13 * and/or sell copies of the Software, and to permit persons to whom the
14 * Software is furnished to do so, subject to the following conditions:
15 *
16 * The above copyright notice and this permission notice shall be included
17 * in all copies or substantial portions of the Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
23 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 */
26
27
28 /*
29 * Check CPU capabilities & initialize optimized funtions for this particular
30 * processor.
31 *
32 * Written by Holger Waechtler <holger@akaflieg.extern.tu-berlin.de>
33 * Changed by Andre Werthmann <wertmann@cs.uni-potsdam.de> for using the
34 * new Katmai functions
35 */
36
37 #include <stdlib.h>
38 #include <stdio.h>
39 #include "common_x86asm.h"
40
41 int gl_x86_cpu_features = 0;
42
43 static void message(const char *msg)
44 {
45 if (getenv("MESA_DEBUG"))
46 fprintf(stderr, "%s\n", msg);
47 }
48
49
50 void gl_init_all_x86_asm (void)
51 {
52 #ifdef USE_X86_ASM
53 gl_x86_cpu_features = gl_identify_x86_cpu_features ();
54 gl_x86_cpu_features |= GL_CPU_AnyX86;
55
56 if (getenv("MESA_NO_ASM") != 0)
57 gl_x86_cpu_features = 0;
58
59 if (gl_x86_cpu_features & GL_CPU_GenuineIntel) {
60 message("GenuineIntel cpu detected.");
61 }
62
63 if (gl_x86_cpu_features) {
64 gl_init_x86_asm_transforms ();
65 }
66
67 #ifdef USE_MMX_ASM
68 if (gl_x86_cpu_features & GL_CPU_MMX) {
69 char *s = getenv( "MESA_NO_MMX" );
70 if (s == NULL) {
71 message("MMX cpu detected.");
72 } else {
73 gl_x86_cpu_features &= (~GL_CPU_MMX);
74 }
75 }
76 #endif
77
78
79 #ifdef USE_3DNOW_ASM
80 if (gl_x86_cpu_features & GL_CPU_3Dnow) {
81 char *s = getenv( "MESA_NO_3DNOW" );
82 if (s == NULL) {
83 message("3Dnow cpu detected.");
84 gl_init_3dnow_asm_transforms ();
85 } else {
86 gl_x86_cpu_features &= (~GL_CPU_3Dnow);
87 }
88 }
89 #endif
90
91
92 #ifdef USE_KATMAI_ASM
93 if (gl_x86_cpu_features & GL_CPU_Katmai) {
94 char *s = getenv( "MESA_NO_KATMAI" );
95 if (s == NULL) {
96 message("Katmai cpu detected.");
97 gl_init_katmai_asm_transforms ();
98 } else {
99 gl_x86_cpu_features &= (~GL_CPU_Katmai);
100 }
101 }
102 #endif
103
104 #endif
105 }
106