Revision: 60573
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60573
Author:   blendix
Date:     2013-10-05 19:56:34 +0000 (Sat, 05 Oct 2013)
Log Message:
-----------
Better fix for #36935 and 36316:

* 32 bit GCC builds now have the SSE BVH optimizations turned off, but still
  compile with SSE flags for better performance.

* White color when rendering on Windows seems to have been unrelated to SSE,
  rather it was a graphics driver not supporting half float textures, added a
  check for that now.

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/blender_sync.cpp
    trunk/blender/intern/cycles/kernel/kernel_sse2.cpp
    trunk/blender/intern/cycles/kernel/kernel_sse3.cpp
    trunk/blender/intern/cycles/util/util_opengl.h
    trunk/blender/intern/cycles/util/util_system.cpp

Modified: trunk/blender/intern/cycles/blender/blender_sync.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_sync.cpp        2013-10-05 
19:56:32 UTC (rev 60572)
+++ trunk/blender/intern/cycles/blender/blender_sync.cpp        2013-10-05 
19:56:34 UTC (rev 60573)
@@ -34,6 +34,7 @@
 
 #include "util_debug.h"
 #include "util_foreach.h"
+#include "util_opengl.h"
 
 CCL_NAMESPACE_BEGIN
 
@@ -494,7 +495,7 @@
                params.shadingsystem = SessionParams::OSL;
        
        /* color managagement */
-       params.display_buffer_linear = 
b_engine.support_display_space_shader(b_scene);
+       params.display_buffer_linear = GLEW_ARB_half_float_pixel && 
b_engine.support_display_space_shader(b_scene);
 
        return params;
 }

Modified: trunk/blender/intern/cycles/kernel/kernel_sse2.cpp
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_sse2.cpp  2013-10-05 19:56:32 UTC 
(rev 60572)
+++ trunk/blender/intern/cycles/kernel/kernel_sse2.cpp  2013-10-05 19:56:34 UTC 
(rev 60573)
@@ -20,7 +20,10 @@
 
 #ifdef WITH_OPTIMIZED_KERNEL
 
+/* SSE optimization disabled for now on 32 bit, see bug #36316 */
+#if !(defined(__GNUC__) && (defined(i386) || defined(_M_IX86)))
 #define __KERNEL_SSE2__
+#endif
 
 #include "kernel.h"
 #include "kernel_compat_cpu.h"

Modified: trunk/blender/intern/cycles/kernel/kernel_sse3.cpp
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_sse3.cpp  2013-10-05 19:56:32 UTC 
(rev 60572)
+++ trunk/blender/intern/cycles/kernel/kernel_sse3.cpp  2013-10-05 19:56:34 UTC 
(rev 60573)
@@ -20,9 +20,12 @@
 
 #ifdef WITH_OPTIMIZED_KERNEL
 
+/* SSE optimization disabled for now on 32 bit, see bug #36316 */
+#if !(defined(__GNUC__) && (defined(i386) || defined(_M_IX86)))
 #define __KERNEL_SSE2__
 #define __KERNEL_SSE3__
 #define __KERNEL_SSSE3__
+#endif
 
 #include "kernel.h"
 #include "kernel_compat_cpu.h"

Modified: trunk/blender/intern/cycles/util/util_opengl.h
===================================================================
--- trunk/blender/intern/cycles/util/util_opengl.h      2013-10-05 19:56:32 UTC 
(rev 60572)
+++ trunk/blender/intern/cycles/util/util_opengl.h      2013-10-05 19:56:34 UTC 
(rev 60573)
@@ -20,12 +20,7 @@
 /* OpenGL header includes, used everywhere we use OpenGL, to deal with
  * platform differences in one central place. */
 
-#ifdef __APPLE__
-#include <OpenGL/gl.h>
-#include <OpenGL/glu.h>
-#else
 #include <GL/glew.h>
-#endif
 
 #endif /* __UTIL_OPENGL_H__ */
 

Modified: trunk/blender/intern/cycles/util/util_system.cpp
===================================================================
--- trunk/blender/intern/cycles/util/util_system.cpp    2013-10-05 19:56:32 UTC 
(rev 60572)
+++ trunk/blender/intern/cycles/util/util_system.cpp    2013-10-05 19:56:34 UTC 
(rev 60573)
@@ -116,8 +116,7 @@
        return (sizeof(void*)*8);
 }
 
-/* SSE optimization disabled for now on 32 bit, see bug #36316 and #36935 */
-#if defined(__x86_64__) || defined(_M_X64) // ((defined(i386) || 
defined(_M_IX86))
+#if defined(__x86_64__) || defined(_M_X64) || defined(i386) || defined(_M_IX86)
 
 struct CPUCapabilities {
        bool x64;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to