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 300ccc06ea9..3438a3512ca 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 d6f5c5af428..60805511951 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.h b/intern/cycles/device/device.h index 70f56165f8a..d6ae01d28be 100644 --- a/intern/cycles/device/device.h +++ b/intern/cycles/device/device.h @@ -299,7 +299,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_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/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/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 459d512172f..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" @@ -1137,14 +1138,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/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__ 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 89a44c7ce3c..e4931a6317c 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_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_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_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 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" 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: diff --git a/release/scripts/startup/bl_ui/space_outliner.py b/release/scripts/startup/bl_ui/space_outliner.py index 5b4a7d34264..eb259eece66 100644 --- a/release/scripts/startup/bl_ui/space_outliner.py +++ b/release/scripts/startup/bl_ui/space_outliner.py @@ -138,7 +138,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()