st/mesa: Treat vertex outputs absent in outputMapping as zero in mesa_to_tgsi
[mesa.git] / src / mesa / x86 / common_x86_features.h
index 90509775cfcd89f0c058ed8d33271e676e34e814..90105dafc6c6f51649c8d071646ebf22e2a1a30d 100644 (file)
@@ -1,8 +1,6 @@
-/* $Id: common_x86_features.h,v 1.6 2003/01/21 16:14:00 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
- * Version:  5.1
  *
  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
  *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
  */
 
 /*
@@ -44,6 +43,7 @@
 #define X86_FEATURE_XMM2       (1<<6)
 #define X86_FEATURE_3DNOWEXT   (1<<7)
 #define X86_FEATURE_3DNOW      (1<<8)
+#define X86_FEATURE_SSE4_1     (1<<9)
 
 /* standard X86 CPU features */
 #define X86_CPU_FPU            (1<<0)
 #define X86_CPU_MMX            (1<<23)
 #define X86_CPU_XMM            (1<<25)
 #define X86_CPU_XMM2           (1<<26)
+/* ECX. */
+#define X86_CPU_SSE4_1         (1<<19)
 
 /* extended X86 CPU features */
 #define X86_CPUEXT_MMX_EXT     (1<<22)
 #define X86_CPUEXT_3DNOW_EXT   (1<<30)
 #define X86_CPUEXT_3DNOW       (1<<31)
 
+#ifdef __MMX__
+#define cpu_has_mmx            1
+#else
 #define cpu_has_mmx            (_mesa_x86_cpu_features & X86_FEATURE_MMX)
+#endif
+
 #define cpu_has_mmxext         (_mesa_x86_cpu_features & X86_FEATURE_MMXEXT)
+
+#if defined(__SSE__) || (defined(_M_IX86_FP) && (_M_IX86_FP >= 1)) || defined(_M_X64)
+#define cpu_has_xmm            1
+#else
 #define cpu_has_xmm            (_mesa_x86_cpu_features & X86_FEATURE_XMM)
+#endif
+
+#if defined(__SSE2__) || (defined(_M_IX86_FP) && (_M_IX86_FP >= 2)) || defined(_M_X64)
+#define cpu_has_xmm2           1
+#else
 #define cpu_has_xmm2           (_mesa_x86_cpu_features & X86_FEATURE_XMM2)
+#endif
+
+#ifdef __3dNOW__
+#define cpu_has_3dnow          1
+#else
 #define cpu_has_3dnow          (_mesa_x86_cpu_features & X86_FEATURE_3DNOW)
+#endif
+
 #define cpu_has_3dnowext       (_mesa_x86_cpu_features & X86_FEATURE_3DNOWEXT)
 
+#ifdef __SSE4_1__
+#define cpu_has_sse4_1         1
+#else
+#define cpu_has_sse4_1         (_mesa_x86_cpu_features & X86_FEATURE_SSE4_1)
+#endif
+
 #endif