Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-10-02 23:00:16 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-10-02 23:00:16 +0400
commite308c2f166c1d59b52fdf4226d1fdbb3f669c678 (patch)
tree946cce0d74ce788a9ec462e005229a65b87f2db4 /intern
parent8686f9fe03805b111dee5c33c69d3bbc3eb50aed (diff)
Fix #36316: dots in cycles render on certain CPUs with 32 bit linux builds.
There is some sort of problem with the SSE2 code path, but I couldn't find the cause, maybe a compiler bug due to the large amount of inlining? For now I've disabled SSE2 optimizatons in 32 bit GCC builds.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/util/util_system.cpp3
-rw-r--r--intern/ghost/intern/GHOST_SystemCocoa.mm2
2 files changed, 4 insertions, 1 deletions
diff --git a/intern/cycles/util/util_system.cpp b/intern/cycles/util/util_system.cpp
index 345c76bdfab..40ec93b6124 100644
--- a/intern/cycles/util/util_system.cpp
+++ b/intern/cycles/util/util_system.cpp
@@ -116,7 +116,8 @@ int system_cpu_bits()
return (sizeof(void*)*8);
}
-#if defined(__x86_64__) || defined(_M_X64) || defined(i386) || defined(_M_IX86)
+/* SSE optimization disabled for now on 32 bit GCC, see bug #36316 */
+#if defined(__x86_64__) || defined(_M_X64) || ((defined(i386) || defined(_M_IX86)) && !defined(__GNUC__))
struct CPUCapabilities {
bool x64;
diff --git a/intern/ghost/intern/GHOST_SystemCocoa.mm b/intern/ghost/intern/GHOST_SystemCocoa.mm
index 9cea4210769..770cfca6968 100644
--- a/intern/ghost/intern/GHOST_SystemCocoa.mm
+++ b/intern/ghost/intern/GHOST_SystemCocoa.mm
@@ -1025,6 +1025,8 @@ GHOST_TSuccess GHOST_SystemCocoa::handleWindowEvent(GHOST_TEventType eventType,
}
switch (eventType) {
case GHOST_kEventWindowClose:
+ // make window that should be closed frontmost
+ [window->getCocoaWindow() makeKeyAndOrderFront:nil];
// check for index of mainwindow as it would quit blender without dialog and discard
if (window->getCocoaWindow() != [windowsList objectAtIndex:([windowsList count] - 1)]) {
pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowClose, window) );