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.
This commit is contained in:
Brecht Van Lommel
2013-10-02 19:00:16 +00:00
parent 8686f9fe03
commit e308c2f166
2 changed files with 4 additions and 1 deletions

View File

@@ -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;

View File

@@ -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) );