diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 337d075cce4..a349ddc5c3f 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -34,6 +34,7 @@ #include "util_debug.h" #include "util_foreach.h" +#include "util_opengl.h" CCL_NAMESPACE_BEGIN @@ -494,7 +495,7 @@ SessionParams BlenderSync::get_session_params(BL::RenderEngine b_engine, BL::Use 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; } diff --git a/intern/cycles/kernel/kernel_sse2.cpp b/intern/cycles/kernel/kernel_sse2.cpp index 862626d6899..9c69e519dca 100644 --- a/intern/cycles/kernel/kernel_sse2.cpp +++ b/intern/cycles/kernel/kernel_sse2.cpp @@ -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" diff --git a/intern/cycles/kernel/kernel_sse3.cpp b/intern/cycles/kernel/kernel_sse3.cpp index c44098606a5..05877a41b4a 100644 --- a/intern/cycles/kernel/kernel_sse3.cpp +++ b/intern/cycles/kernel/kernel_sse3.cpp @@ -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" diff --git a/intern/cycles/util/util_opengl.h b/intern/cycles/util/util_opengl.h index 07a296ed1e6..04a3e039c9d 100644 --- a/intern/cycles/util/util_opengl.h +++ b/intern/cycles/util/util_opengl.h @@ -20,12 +20,7 @@ /* OpenGL header includes, used everywhere we use OpenGL, to deal with * platform differences in one central place. */ -#ifdef __APPLE__ -#include -#include -#else #include -#endif #endif /* __UTIL_OPENGL_H__ */ diff --git a/intern/cycles/util/util_system.cpp b/intern/cycles/util/util_system.cpp index 2bb15b9074a..345c76bdfab 100644 --- a/intern/cycles/util/util_system.cpp +++ b/intern/cycles/util/util_system.cpp @@ -116,8 +116,7 @@ int system_cpu_bits() 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;