From 0fe41009f095835bda961a67697b36cbc8cade49 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 18 Jan 2018 21:06:35 +0100 Subject: [PATCH 1/5] Fix T53830: Cycles OpenCL debug assert on macOS, This was probably harmless besides some unnecessary memory usage due to aligning allocations too much. --- intern/cycles/device/device.h | 2 +- intern/cycles/device/device_memory.cpp | 3 +-- intern/cycles/device/opencl/opencl_util.cpp | 8 ++++---- intern/cycles/util/util_aligned_malloc.h | 3 +++ intern/cycles/util/util_vector.h | 4 ++-- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/intern/cycles/device/device.h b/intern/cycles/device/device.h index 35b545388f2..528a6dc10f6 100644 --- a/intern/cycles/device/device.h +++ b/intern/cycles/device/device.h @@ -286,7 +286,7 @@ public: Stats &stats; /* memory alignment */ - virtual int mem_address_alignment() { return 16; } + virtual int mem_address_alignment() { return MIN_ALIGNMENT_CPU_DATA_TYPES; } /* constant memory */ virtual void const_copy_to(const char *name, void *host, size_t size) = 0; diff --git a/intern/cycles/device/device_memory.cpp b/intern/cycles/device/device_memory.cpp index 82598007a59..c6248fcf88b 100644 --- a/intern/cycles/device/device_memory.cpp +++ b/intern/cycles/device/device_memory.cpp @@ -50,8 +50,7 @@ void *device_memory::host_alloc(size_t size) return 0; } - size_t alignment = device->mem_address_alignment(); - void *ptr = util_aligned_malloc(size, alignment); + void *ptr = util_aligned_malloc(size, MIN_ALIGNMENT_CPU_DATA_TYPES); if(ptr) { util_guarded_mem_alloc(size); diff --git a/intern/cycles/device/opencl/opencl_util.cpp b/intern/cycles/device/opencl/opencl_util.cpp index 459d512172f..47d099a1f94 100644 --- a/intern/cycles/device/opencl/opencl_util.cpp +++ b/intern/cycles/device/opencl/opencl_util.cpp @@ -1137,14 +1137,14 @@ bool OpenCLInfo::get_driver_version(cl_device_id device_id, int OpenCLInfo::mem_address_alignment(cl_device_id device_id) { - int base_align_bits; + int base_align_bytes; if(clGetDeviceInfo(device_id, - CL_DEVICE_MEM_BASE_ADDR_ALIGN, + CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE, sizeof(int), - &base_align_bits, + &base_align_bytes, NULL) == CL_SUCCESS) { - return base_align_bits/8; + return base_align_bytes; } return 1; } diff --git a/intern/cycles/util/util_aligned_malloc.h b/intern/cycles/util/util_aligned_malloc.h index cf1e86ca916..66d77c83454 100644 --- a/intern/cycles/util/util_aligned_malloc.h +++ b/intern/cycles/util/util_aligned_malloc.h @@ -21,6 +21,9 @@ CCL_NAMESPACE_BEGIN +/* Minimum alignment needed by all CPU native data types (SSE, AVX). */ +#define MIN_ALIGNMENT_CPU_DATA_TYPES 16 + /* Allocate block of size bytes at least aligned to a given value. */ void *util_aligned_malloc(size_t size, int alignment); diff --git a/intern/cycles/util/util_vector.h b/intern/cycles/util/util_vector.h index ca6b56c9c7e..67bf82b47a5 100644 --- a/intern/cycles/util/util_vector.h +++ b/intern/cycles/util/util_vector.h @@ -86,9 +86,9 @@ public: * this was actually showing up in profiles quite significantly. it * also does not run any constructors/destructors * - if this is used, we are not tempted to use inefficient operations - * - aligned allocation for SSE data types */ + * - aligned allocation for CPU native data types */ -template +template class array { public: From 8e1dd7ed81d6a3806e2fa4eda667e9d2598541f3 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 19 Jan 2018 14:55:53 +0100 Subject: [PATCH 2/5] Cycles: Remove unneeded include statements Also try to move them from headers to implementation files as much as possible. --- intern/cycles/app/cycles_xml.cpp | 1 - intern/cycles/blender/blender_python.cpp | 1 + intern/cycles/bvh/bvh_build.cpp | 1 - intern/cycles/bvh/bvh_node.cpp | 1 - intern/cycles/bvh/bvh_sort.cpp | 1 - intern/cycles/bvh/bvh_unaligned.cpp | 1 - intern/cycles/device/device.cpp | 1 - intern/cycles/device/device_memory.h | 1 - intern/cycles/device/opencl/opencl_base.cpp | 1 + intern/cycles/device/opencl/opencl_split.cpp | 1 + intern/cycles/device/opencl/opencl_util.cpp | 1 + intern/cycles/kernel/osl/osl_closures.cpp | 1 - intern/cycles/render/attribute.cpp | 1 - intern/cycles/render/buffers.cpp | 1 - intern/cycles/render/film.cpp | 1 - intern/cycles/render/graph.cpp | 1 - intern/cycles/render/sobol.cpp | 1 - intern/cycles/render/svm.cpp | 1 - intern/cycles/render/tables.cpp | 1 - intern/cycles/subd/subd_dice.cpp | 2 -- intern/cycles/subd/subd_split.cpp | 1 - intern/cycles/util/util_debug.h | 2 -- intern/cycles/util/util_guarded_allocator.h | 3 --- intern/cycles/util/util_image_impl.h | 1 - intern/cycles/util/util_path.cpp | 1 - intern/cycles/util/util_simd.h | 1 - intern/cycles/util/util_stack_allocator.h | 3 --- intern/cycles/util/util_task.cpp | 1 - 28 files changed, 4 insertions(+), 30 deletions(-) diff --git a/intern/cycles/app/cycles_xml.cpp b/intern/cycles/app/cycles_xml.cpp index f2db9271a89..2d6e63468af 100644 --- a/intern/cycles/app/cycles_xml.cpp +++ b/intern/cycles/app/cycles_xml.cpp @@ -38,7 +38,6 @@ #include "subd/subd_patch.h" #include "subd/subd_split.h" -#include "util/util_debug.h" #include "util/util_foreach.h" #include "util/util_path.h" #include "util/util_transform.h" diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp index e268c9a0d35..687ddd9e7c3 100644 --- a/intern/cycles/blender/blender_python.cpp +++ b/intern/cycles/blender/blender_python.cpp @@ -21,6 +21,7 @@ #include "blender/blender_sync.h" #include "blender/blender_session.h" +#include "util/util_debug.h" #include "util/util_foreach.h" #include "util/util_logging.h" #include "util/util_md5.h" diff --git a/intern/cycles/bvh/bvh_build.cpp b/intern/cycles/bvh/bvh_build.cpp index 39e14dba3ee..c0b3d683e37 100644 --- a/intern/cycles/bvh/bvh_build.cpp +++ b/intern/cycles/bvh/bvh_build.cpp @@ -28,7 +28,6 @@ #include "render/curves.h" #include "util/util_algorithm.h" -#include "util/util_debug.h" #include "util/util_foreach.h" #include "util/util_logging.h" #include "util/util_progress.h" diff --git a/intern/cycles/bvh/bvh_node.cpp b/intern/cycles/bvh/bvh_node.cpp index ab6df4d265d..24af919ff46 100644 --- a/intern/cycles/bvh/bvh_node.cpp +++ b/intern/cycles/bvh/bvh_node.cpp @@ -20,7 +20,6 @@ #include "bvh/bvh.h" #include "bvh/bvh_build.h" -#include "util/util_debug.h" #include "util/util_vector.h" CCL_NAMESPACE_BEGIN diff --git a/intern/cycles/bvh/bvh_sort.cpp b/intern/cycles/bvh/bvh_sort.cpp index 3a01061b285..b40bf5bb21b 100644 --- a/intern/cycles/bvh/bvh_sort.cpp +++ b/intern/cycles/bvh/bvh_sort.cpp @@ -20,7 +20,6 @@ #include "bvh/bvh_build.h" #include "util/util_algorithm.h" -#include "util/util_debug.h" #include "util/util_task.h" CCL_NAMESPACE_BEGIN diff --git a/intern/cycles/bvh/bvh_unaligned.cpp b/intern/cycles/bvh/bvh_unaligned.cpp index b522a8f3e10..910f82137c5 100644 --- a/intern/cycles/bvh/bvh_unaligned.cpp +++ b/intern/cycles/bvh/bvh_unaligned.cpp @@ -23,7 +23,6 @@ #include "bvh_params.h" #include "util/util_boundbox.h" -#include "util/util_debug.h" #include "util/util_transform.h" CCL_NAMESPACE_BEGIN diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp index a3ff5481cef..d55a999c454 100644 --- a/intern/cycles/device/device.cpp +++ b/intern/cycles/device/device.cpp @@ -20,7 +20,6 @@ #include "device/device.h" #include "device/device_intern.h" -#include "util/util_debug.h" #include "util/util_foreach.h" #include "util/util_half.h" #include "util/util_logging.h" diff --git a/intern/cycles/device/device_memory.h b/intern/cycles/device/device_memory.h index 2a027917066..796c898bc8d 100644 --- a/intern/cycles/device/device_memory.h +++ b/intern/cycles/device/device_memory.h @@ -21,7 +21,6 @@ * * Data types for allocating, copying and freeing device memory. */ -#include "util/util_debug.h" #include "util/util_half.h" #include "util/util_texture.h" #include "util/util_types.h" diff --git a/intern/cycles/device/opencl/opencl_base.cpp b/intern/cycles/device/opencl/opencl_base.cpp index fe084edc90e..7de78d413ed 100644 --- a/intern/cycles/device/opencl/opencl_base.cpp +++ b/intern/cycles/device/opencl/opencl_base.cpp @@ -21,6 +21,7 @@ #include "kernel/kernel_types.h" #include "util/util_algorithm.h" +#include "util/util_debug.h" #include "util/util_foreach.h" #include "util/util_logging.h" #include "util/util_md5.h" diff --git a/intern/cycles/device/opencl/opencl_split.cpp b/intern/cycles/device/opencl/opencl_split.cpp index 2d819080674..51d3c7bb10f 100644 --- a/intern/cycles/device/opencl/opencl_split.cpp +++ b/intern/cycles/device/opencl/opencl_split.cpp @@ -26,6 +26,7 @@ #include "device/device_split_kernel.h" #include "util/util_algorithm.h" +#include "util/util_debug.h" #include "util/util_logging.h" #include "util/util_md5.h" #include "util/util_path.h" diff --git a/intern/cycles/device/opencl/opencl_util.cpp b/intern/cycles/device/opencl/opencl_util.cpp index 47d099a1f94..7db6fa0c416 100644 --- a/intern/cycles/device/opencl/opencl_util.cpp +++ b/intern/cycles/device/opencl/opencl_util.cpp @@ -18,6 +18,7 @@ #include "device/opencl/opencl.h" +#include "util/util_debug.h" #include "util/util_logging.h" #include "util/util_md5.h" #include "util/util_path.h" diff --git a/intern/cycles/kernel/osl/osl_closures.cpp b/intern/cycles/kernel/osl/osl_closures.cpp index 597d25e9f30..608e856e019 100644 --- a/intern/cycles/kernel/osl/osl_closures.cpp +++ b/intern/cycles/kernel/osl/osl_closures.cpp @@ -36,7 +36,6 @@ #include "kernel/osl/osl_closures.h" #include "kernel/osl/osl_shader.h" -#include "util/util_debug.h" #include "util/util_math.h" #include "util/util_param.h" diff --git a/intern/cycles/render/attribute.cpp b/intern/cycles/render/attribute.cpp index 9dff18691cd..95e69df6885 100644 --- a/intern/cycles/render/attribute.cpp +++ b/intern/cycles/render/attribute.cpp @@ -18,7 +18,6 @@ #include "render/mesh.h" #include "render/attribute.h" -#include "util/util_debug.h" #include "util/util_foreach.h" #include "util/util_transform.h" diff --git a/intern/cycles/render/buffers.cpp b/intern/cycles/render/buffers.cpp index 9899fa1c39c..84d10cc477e 100644 --- a/intern/cycles/render/buffers.cpp +++ b/intern/cycles/render/buffers.cpp @@ -19,7 +19,6 @@ #include "render/buffers.h" #include "device/device.h" -#include "util/util_debug.h" #include "util/util_foreach.h" #include "util/util_hash.h" #include "util/util_image.h" diff --git a/intern/cycles/render/film.cpp b/intern/cycles/render/film.cpp index 6c8c929c2f9..97937ac5f81 100644 --- a/intern/cycles/render/film.cpp +++ b/intern/cycles/render/film.cpp @@ -23,7 +23,6 @@ #include "render/tables.h" #include "util/util_algorithm.h" -#include "util/util_debug.h" #include "util/util_foreach.h" #include "util/util_math.h" #include "util/util_math_cdf.h" diff --git a/intern/cycles/render/graph.cpp b/intern/cycles/render/graph.cpp index 08203163d1a..56434b39da5 100644 --- a/intern/cycles/render/graph.cpp +++ b/intern/cycles/render/graph.cpp @@ -22,7 +22,6 @@ #include "render/constant_fold.h" #include "util/util_algorithm.h" -#include "util/util_debug.h" #include "util/util_foreach.h" #include "util/util_queue.h" #include "util/util_logging.h" diff --git a/intern/cycles/render/sobol.cpp b/intern/cycles/render/sobol.cpp index ce93dc8c5d5..6906667ac19 100644 --- a/intern/cycles/render/sobol.cpp +++ b/intern/cycles/render/sobol.cpp @@ -46,7 +46,6 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "util/util_debug.h" #include "util/util_types.h" #include "render/sobol.h" diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index db53e366d1e..b678277433b 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -23,7 +23,6 @@ #include "render/shader.h" #include "render/svm.h" -#include "util/util_debug.h" #include "util/util_logging.h" #include "util/util_foreach.h" #include "util/util_progress.h" diff --git a/intern/cycles/render/tables.cpp b/intern/cycles/render/tables.cpp index 651ae4e21a0..536fdd0775e 100644 --- a/intern/cycles/render/tables.cpp +++ b/intern/cycles/render/tables.cpp @@ -18,7 +18,6 @@ #include "render/scene.h" #include "render/tables.h" -#include "util/util_debug.h" #include "util/util_logging.h" CCL_NAMESPACE_BEGIN diff --git a/intern/cycles/subd/subd_dice.cpp b/intern/cycles/subd/subd_dice.cpp index fae815901ee..8c426da4acf 100644 --- a/intern/cycles/subd/subd_dice.cpp +++ b/intern/cycles/subd/subd_dice.cpp @@ -20,8 +20,6 @@ #include "subd/subd_dice.h" #include "subd/subd_patch.h" -#include "util/util_debug.h" - CCL_NAMESPACE_BEGIN /* EdgeDice Base */ diff --git a/intern/cycles/subd/subd_split.cpp b/intern/cycles/subd/subd_split.cpp index 9dbfc1c4e2f..d3bed6a5c53 100644 --- a/intern/cycles/subd/subd_split.cpp +++ b/intern/cycles/subd/subd_split.cpp @@ -21,7 +21,6 @@ #include "subd/subd_patch.h" #include "subd/subd_split.h" -#include "util/util_debug.h" #include "util/util_math.h" #include "util/util_types.h" diff --git a/intern/cycles/util/util_debug.h b/intern/cycles/util/util_debug.h index 9255279c5ab..632c6ae35e7 100644 --- a/intern/cycles/util/util_debug.h +++ b/intern/cycles/util/util_debug.h @@ -20,8 +20,6 @@ #include #include -#include "util/util_static_assert.h" - CCL_NAMESPACE_BEGIN /* Global storage for all sort of flags used to fine-tune behavior of particular diff --git a/intern/cycles/util/util_guarded_allocator.h b/intern/cycles/util/util_guarded_allocator.h index 1abcabd5294..87c1526dee4 100644 --- a/intern/cycles/util/util_guarded_allocator.h +++ b/intern/cycles/util/util_guarded_allocator.h @@ -20,9 +20,6 @@ #include #include -#include "util/util_debug.h" -#include "util/util_types.h" - #ifdef WITH_BLENDER_GUARDEDALLOC # include "../../guardedalloc/MEM_guardedalloc.h" #endif diff --git a/intern/cycles/util/util_image_impl.h b/intern/cycles/util/util_image_impl.h index a0f9c66f979..751f52aaa86 100644 --- a/intern/cycles/util/util_image_impl.h +++ b/intern/cycles/util/util_image_impl.h @@ -18,7 +18,6 @@ #define __UTIL_IMAGE_IMPL_H__ #include "util/util_algorithm.h" -#include "util/util_debug.h" #include "util/util_half.h" #include "util/util_image.h" diff --git a/intern/cycles/util/util_path.cpp b/intern/cycles/util/util_path.cpp index bae5d5bd6d1..0e0371928ab 100644 --- a/intern/cycles/util/util_path.cpp +++ b/intern/cycles/util/util_path.cpp @@ -14,7 +14,6 @@ * limitations under the License. */ -#include "util/util_debug.h" #include "util/util_md5.h" #include "util/util_path.h" #include "util/util_string.h" diff --git a/intern/cycles/util/util_simd.h b/intern/cycles/util/util_simd.h index 58b3d267266..f432fd7957a 100644 --- a/intern/cycles/util/util_simd.h +++ b/intern/cycles/util/util_simd.h @@ -22,7 +22,6 @@ #include -#include "util/util_debug.h" #include "util/util_defines.h" /* SSE Intrinsics includes diff --git a/intern/cycles/util/util_stack_allocator.h b/intern/cycles/util/util_stack_allocator.h index 2f1799a739e..79a535bd170 100644 --- a/intern/cycles/util/util_stack_allocator.h +++ b/intern/cycles/util/util_stack_allocator.h @@ -20,9 +20,6 @@ #include #include -#include "util/util_debug.h" -#include "util/util_types.h" - CCL_NAMESPACE_BEGIN /* Stack allocator for the use with STL. */ diff --git a/intern/cycles/util/util_task.cpp b/intern/cycles/util/util_task.cpp index 6ed97b0e0a6..9df1096de8a 100644 --- a/intern/cycles/util/util_task.cpp +++ b/intern/cycles/util/util_task.cpp @@ -14,7 +14,6 @@ * limitations under the License. */ -#include "util/util_debug.h" #include "util/util_foreach.h" #include "util/util_logging.h" #include "util/util_system.h" From 54632dc8307e30a711c5fceed79eb1b083fd40dc Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 19 Jan 2018 15:21:34 +0100 Subject: [PATCH 3/5] Cycles: Remove util_debug include from kernel code Not sure why it was in there, all the debug flags stuff is to be handled outside of kernel. --- intern/cycles/kernel/kernel_compat_cpu.h | 1 - intern/cycles/kernel/kernels/cpu/filter_cpu_impl.h | 1 - intern/cycles/kernel/kernels/cpu/kernel_cpu_impl.h | 1 - 3 files changed, 3 deletions(-) diff --git a/intern/cycles/kernel/kernel_compat_cpu.h b/intern/cycles/kernel/kernel_compat_cpu.h index 6f63c8f77a2..61cd90e9d2a 100644 --- a/intern/cycles/kernel/kernel_compat_cpu.h +++ b/intern/cycles/kernel/kernel_compat_cpu.h @@ -35,7 +35,6 @@ # define __NODES_FEATURES__ NODE_FEATURE_ALL #endif -#include "util/util_debug.h" #include "util/util_math.h" #include "util/util_simd.h" #include "util/util_half.h" diff --git a/intern/cycles/kernel/kernels/cpu/filter_cpu_impl.h b/intern/cycles/kernel/kernels/cpu/filter_cpu_impl.h index ab39260784b..504622ecfd9 100644 --- a/intern/cycles/kernel/kernels/cpu/filter_cpu_impl.h +++ b/intern/cycles/kernel/kernels/cpu/filter_cpu_impl.h @@ -25,7 +25,6 @@ #include "kernel/filter/filter_kernel.h" #ifdef KERNEL_STUB -# include "util/util_debug.h" # define STUB_ASSERT(arch, name) assert(!(#name " kernel stub for architecture " #arch " was called!")) #endif diff --git a/intern/cycles/kernel/kernels/cpu/kernel_cpu_impl.h b/intern/cycles/kernel/kernels/cpu/kernel_cpu_impl.h index fdeb7dcd3e4..ccca023a15f 100644 --- a/intern/cycles/kernel/kernels/cpu/kernel_cpu_impl.h +++ b/intern/cycles/kernel/kernels/cpu/kernel_cpu_impl.h @@ -59,7 +59,6 @@ # include "kernel/split/kernel_buffer_update.h" # endif /* __SPLIT_KERNEL__ */ #else -# include "util/util_debug.h" # define STUB_ASSERT(arch, name) assert(!(#name " kernel stub for architecture " #arch " was called!")) # ifdef __SPLIT_KERNEL__ From ccec1e76674855ab1a1c5110ea7380e92acb3b27 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 19 Jan 2018 15:02:23 +0100 Subject: [PATCH 4/5] Cycles: Cleanup, stop using debug flags in system utilities Debug flags are to be controlling render behavior, nothing to do with low level system utilities. it was simple to hack, but logically is wrong. Lets do things where they are supposed to be done! --- intern/cycles/device/device_cpu.cpp | 10 +++++----- intern/cycles/util/util_system.cpp | 18 ++++++++---------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp index e476c012de1..0783230ef14 100644 --- a/intern/cycles/device/device_cpu.cpp +++ b/intern/cycles/device/device_cpu.cpp @@ -86,35 +86,35 @@ public: (void)kernel_avx; (void)kernel_avx2; #ifdef WITH_CYCLES_OPTIMIZED_KERNEL_AVX2 - if(system_cpu_support_avx2()) { + if(DebugFlags().cpu.avx2 && system_cpu_support_avx2()) { architecture_name = "AVX2"; kernel = kernel_avx2; } else #endif #ifdef WITH_CYCLES_OPTIMIZED_KERNEL_AVX - if(system_cpu_support_avx()) { + if(DebugFlags().cpu.avx && system_cpu_support_avx()) { architecture_name = "AVX"; kernel = kernel_avx; } else #endif #ifdef WITH_CYCLES_OPTIMIZED_KERNEL_SSE41 - if(system_cpu_support_sse41()) { + if(DebugFlags().cpu.sse41 && system_cpu_support_sse41()) { architecture_name = "SSE4.1"; kernel = kernel_sse41; } else #endif #ifdef WITH_CYCLES_OPTIMIZED_KERNEL_SSE3 - if(system_cpu_support_sse3()) { + if(DebugFlags().cpu.sse3 && system_cpu_support_sse3()) { architecture_name = "SSE3"; kernel = kernel_sse3; } else #endif #ifdef WITH_CYCLES_OPTIMIZED_KERNEL_SSE2 - if(system_cpu_support_sse2()) { + if(DebugFlags().cpu.sse2 && system_cpu_support_sse2()) { architecture_name = "SSE2"; kernel = kernel_sse2; } diff --git a/intern/cycles/util/util_system.cpp b/intern/cycles/util/util_system.cpp index 9b1b9a60c30..5f5211228c5 100644 --- a/intern/cycles/util/util_system.cpp +++ b/intern/cycles/util/util_system.cpp @@ -16,7 +16,6 @@ #include "util/util_system.h" -#include "util/util_debug.h" #include "util/util_logging.h" #include "util/util_types.h" #include "util/util_string.h" @@ -234,35 +233,34 @@ static CPUCapabilities& system_cpu_capabilities() bool system_cpu_support_sse2() { CPUCapabilities& caps = system_cpu_capabilities(); - return DebugFlags().cpu.sse2 && caps.sse && caps.sse2; + return caps.sse && caps.sse2; } bool system_cpu_support_sse3() { CPUCapabilities& caps = system_cpu_capabilities(); - return DebugFlags().cpu.sse3 && - caps.sse && caps.sse2 && caps.sse3 && caps.ssse3; + return caps.sse && caps.sse2 && caps.sse3 && caps.ssse3; } bool system_cpu_support_sse41() { CPUCapabilities& caps = system_cpu_capabilities(); - return DebugFlags().cpu.sse41 && - caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && caps.sse41; + return caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && caps.sse41; } bool system_cpu_support_avx() { CPUCapabilities& caps = system_cpu_capabilities(); - return DebugFlags().cpu.avx && - caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && caps.sse41 && caps.avx; + return caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && + caps.sse41 && caps.avx; } bool system_cpu_support_avx2() { CPUCapabilities& caps = system_cpu_capabilities(); - return DebugFlags().cpu.avx2 && - caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && caps.sse41 && caps.avx && caps.f16c && caps.avx2 && caps.fma3 && caps.bmi1 && caps.bmi2; + return caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && caps.sse41 && + caps.avx && caps.f16c && caps.avx2 && caps.fma3 && caps.bmi1 && + caps.bmi2; } #else From edf053ff635e782d09b64d205fadfca3cce79de4 Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Fri, 19 Jan 2018 12:44:38 -0200 Subject: [PATCH 5/5] Outliner Python UI cleanup: remove KEYMAPS This was removed since 2013 (ef765b360675). It should have been removed back then from the UI file too. --- release/scripts/startup/bl_ui/space_outliner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/scripts/startup/bl_ui/space_outliner.py b/release/scripts/startup/bl_ui/space_outliner.py index 731ab3d4b14..4951ef83ad0 100644 --- a/release/scripts/startup/bl_ui/space_outliner.py +++ b/release/scripts/startup/bl_ui/space_outliner.py @@ -87,7 +87,7 @@ class OUTLINER_MT_view(Menu): space = context.space_data - if space.display_mode not in {'DATABLOCKS', 'USER_PREFERENCES', 'KEYMAPS'}: + if space.display_mode not in {'DATABLOCKS', 'USER_PREFERENCES'}: layout.prop(space, "use_sort_alpha") layout.prop(space, "show_restrict_columns") layout.separator()