[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60573] trunk/blender/intern/cycles: Better fix for #36935 and 36316:
Brecht Van Lommel
brechtvanlommel at pandora.be
Sat Oct 5 21:56:34 CEST 2013
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;
More information about the Bf-blender-cvs
mailing list