- U_gallium-rtasm-properly-detect-SSE-and-SSE2.patch
* gallium/rtasm: properly detect SSE and SSE2; this should fix crashes on ancient processors. (bnc#728737) OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=203
This commit is contained in:
parent
8a3b9c9994
commit
548acc1f09
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 21 14:55:19 UTC 2012 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- U_gallium-rtasm-properly-detect-SSE-and-SSE2.patch
|
||||||
|
* gallium/rtasm: properly detect SSE and SSE2; this should fix
|
||||||
|
crashes on ancient processors. (bnc#728737)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Mar 1 08:22:41 UTC 2012 - coolo@suse.com
|
Thu Mar 1 08:22:41 UTC 2012 - coolo@suse.com
|
||||||
|
|
||||||
|
@ -86,6 +86,7 @@ Patch1: Mesa-nodate.diff
|
|||||||
# to be upstreamed
|
# to be upstreamed
|
||||||
Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
|
Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
|
||||||
# already upstream
|
# already upstream
|
||||||
|
Patch12: U_gallium-rtasm-properly-detect-SSE-and-SSE2.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -367,6 +368,7 @@ rm -f include/GL/{glut.h,uglglutshapes.h,glutf90.h}
|
|||||||
# remove some docs
|
# remove some docs
|
||||||
rm -rf docs/README.{VMS,WIN32,OS2}
|
rm -rf docs/README.{VMS,WIN32,OS2}
|
||||||
#%patch11 -p1
|
#%patch11 -p1
|
||||||
|
%patch12 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
|
85
U_gallium-rtasm-properly-detect-SSE-and-SSE2.patch
Normal file
85
U_gallium-rtasm-properly-detect-SSE-and-SSE2.patch
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
From 74d303521e6ba41d1cbeb75edb2f834ebbe8c550 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= <maraeo@gmail.com>
|
||||||
|
Date: Fri, 24 Feb 2012 19:29:48 +0100
|
||||||
|
Subject: [PATCH] gallium/rtasm: properly detect SSE and SSE2
|
||||||
|
|
||||||
|
This should fix crashes on ancient processors.
|
||||||
|
---
|
||||||
|
src/gallium/auxiliary/rtasm/rtasm_cpu.c | 48 +++++++++++++++---------------
|
||||||
|
1 files changed, 24 insertions(+), 24 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/gallium/auxiliary/rtasm/rtasm_cpu.c b/src/gallium/auxiliary/rtasm/rtasm_cpu.c
|
||||||
|
index 0461c81..7afcf14 100644
|
||||||
|
--- a/src/gallium/auxiliary/rtasm/rtasm_cpu.c
|
||||||
|
+++ b/src/gallium/auxiliary/rtasm/rtasm_cpu.c
|
||||||
|
@@ -25,43 +25,43 @@
|
||||||
|
*
|
||||||
|
**************************************************************************/
|
||||||
|
|
||||||
|
+#include "pipe/p_config.h"
|
||||||
|
+#include "rtasm_cpu.h"
|
||||||
|
+
|
||||||
|
+#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64)
|
||||||
|
|
||||||
|
#include "util/u_debug.h"
|
||||||
|
-#include "rtasm_cpu.h"
|
||||||
|
+#include "util/u_cpu_detect.h"
|
||||||
|
|
||||||
|
+DEBUG_GET_ONCE_BOOL_OPTION(nosse, "GALLIUM_NOSSE", FALSE);
|
||||||
|
|
||||||
|
-#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64)
|
||||||
|
-static boolean rtasm_sse_enabled(void)
|
||||||
|
+static struct util_cpu_caps *get_cpu_caps(void)
|
||||||
|
{
|
||||||
|
- static boolean firsttime = 1;
|
||||||
|
- static boolean enabled;
|
||||||
|
-
|
||||||
|
- /* This gets called quite often at the moment:
|
||||||
|
- */
|
||||||
|
- if (firsttime) {
|
||||||
|
- enabled = !debug_get_bool_option("GALLIUM_NOSSE", FALSE);
|
||||||
|
- firsttime = FALSE;
|
||||||
|
- }
|
||||||
|
- return enabled;
|
||||||
|
+ util_cpu_detect();
|
||||||
|
+ return &util_cpu_caps;
|
||||||
|
}
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
int rtasm_cpu_has_sse(void)
|
||||||
|
{
|
||||||
|
- /* FIXME: actually detect this at run-time */
|
||||||
|
-#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64)
|
||||||
|
- return rtasm_sse_enabled();
|
||||||
|
-#else
|
||||||
|
- return 0;
|
||||||
|
-#endif
|
||||||
|
+ return !debug_get_option_nosse() && get_cpu_caps()->has_sse;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rtasm_cpu_has_sse2(void)
|
||||||
|
{
|
||||||
|
- /* FIXME: actually detect this at run-time */
|
||||||
|
-#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64)
|
||||||
|
- return rtasm_sse_enabled();
|
||||||
|
+ return !debug_get_option_nosse() && get_cpu_caps()->has_sse2;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
#else
|
||||||
|
+
|
||||||
|
+int rtasm_cpu_has_sse(void)
|
||||||
|
+{
|
||||||
|
return 0;
|
||||||
|
-#endif
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+int rtasm_cpu_has_sse2(void)
|
||||||
|
+{
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
--
|
||||||
|
1.7.3.4
|
||||||
|
|
Loading…
Reference in New Issue
Block a user