Merge remote-tracking branch 'origin/master' into blender2.8

This commit is contained in:
Dalai Felinto
2018-01-19 12:46:23 -02:00
38 changed files with 29 additions and 58 deletions

View File

@@ -38,7 +38,6 @@
#include "subd/subd_patch.h" #include "subd/subd_patch.h"
#include "subd/subd_split.h" #include "subd/subd_split.h"
#include "util/util_debug.h"
#include "util/util_foreach.h" #include "util/util_foreach.h"
#include "util/util_path.h" #include "util/util_path.h"
#include "util/util_transform.h" #include "util/util_transform.h"

View File

@@ -21,6 +21,7 @@
#include "blender/blender_sync.h" #include "blender/blender_sync.h"
#include "blender/blender_session.h" #include "blender/blender_session.h"
#include "util/util_debug.h"
#include "util/util_foreach.h" #include "util/util_foreach.h"
#include "util/util_logging.h" #include "util/util_logging.h"
#include "util/util_md5.h" #include "util/util_md5.h"

View File

@@ -28,7 +28,6 @@
#include "render/curves.h" #include "render/curves.h"
#include "util/util_algorithm.h" #include "util/util_algorithm.h"
#include "util/util_debug.h"
#include "util/util_foreach.h" #include "util/util_foreach.h"
#include "util/util_logging.h" #include "util/util_logging.h"
#include "util/util_progress.h" #include "util/util_progress.h"

View File

@@ -20,7 +20,6 @@
#include "bvh/bvh.h" #include "bvh/bvh.h"
#include "bvh/bvh_build.h" #include "bvh/bvh_build.h"
#include "util/util_debug.h"
#include "util/util_vector.h" #include "util/util_vector.h"
CCL_NAMESPACE_BEGIN CCL_NAMESPACE_BEGIN

View File

@@ -20,7 +20,6 @@
#include "bvh/bvh_build.h" #include "bvh/bvh_build.h"
#include "util/util_algorithm.h" #include "util/util_algorithm.h"
#include "util/util_debug.h"
#include "util/util_task.h" #include "util/util_task.h"
CCL_NAMESPACE_BEGIN CCL_NAMESPACE_BEGIN

View File

@@ -23,7 +23,6 @@
#include "bvh_params.h" #include "bvh_params.h"
#include "util/util_boundbox.h" #include "util/util_boundbox.h"
#include "util/util_debug.h"
#include "util/util_transform.h" #include "util/util_transform.h"
CCL_NAMESPACE_BEGIN CCL_NAMESPACE_BEGIN

View File

@@ -20,7 +20,6 @@
#include "device/device.h" #include "device/device.h"
#include "device/device_intern.h" #include "device/device_intern.h"
#include "util/util_debug.h"
#include "util/util_foreach.h" #include "util/util_foreach.h"
#include "util/util_half.h" #include "util/util_half.h"
#include "util/util_logging.h" #include "util/util_logging.h"

View File

@@ -299,7 +299,7 @@ public:
Stats &stats; Stats &stats;
/* memory alignment */ /* memory alignment */
virtual int mem_address_alignment() { return 16; } virtual int mem_address_alignment() { return MIN_ALIGNMENT_CPU_DATA_TYPES; }
/* constant memory */ /* constant memory */
virtual void const_copy_to(const char *name, void *host, size_t size) = 0; virtual void const_copy_to(const char *name, void *host, size_t size) = 0;

View File

@@ -86,35 +86,35 @@ public:
(void)kernel_avx; (void)kernel_avx;
(void)kernel_avx2; (void)kernel_avx2;
#ifdef WITH_CYCLES_OPTIMIZED_KERNEL_AVX2 #ifdef WITH_CYCLES_OPTIMIZED_KERNEL_AVX2
if(system_cpu_support_avx2()) { if(DebugFlags().cpu.avx2 && system_cpu_support_avx2()) {
architecture_name = "AVX2"; architecture_name = "AVX2";
kernel = kernel_avx2; kernel = kernel_avx2;
} }
else else
#endif #endif
#ifdef WITH_CYCLES_OPTIMIZED_KERNEL_AVX #ifdef WITH_CYCLES_OPTIMIZED_KERNEL_AVX
if(system_cpu_support_avx()) { if(DebugFlags().cpu.avx && system_cpu_support_avx()) {
architecture_name = "AVX"; architecture_name = "AVX";
kernel = kernel_avx; kernel = kernel_avx;
} }
else else
#endif #endif
#ifdef WITH_CYCLES_OPTIMIZED_KERNEL_SSE41 #ifdef WITH_CYCLES_OPTIMIZED_KERNEL_SSE41
if(system_cpu_support_sse41()) { if(DebugFlags().cpu.sse41 && system_cpu_support_sse41()) {
architecture_name = "SSE4.1"; architecture_name = "SSE4.1";
kernel = kernel_sse41; kernel = kernel_sse41;
} }
else else
#endif #endif
#ifdef WITH_CYCLES_OPTIMIZED_KERNEL_SSE3 #ifdef WITH_CYCLES_OPTIMIZED_KERNEL_SSE3
if(system_cpu_support_sse3()) { if(DebugFlags().cpu.sse3 && system_cpu_support_sse3()) {
architecture_name = "SSE3"; architecture_name = "SSE3";
kernel = kernel_sse3; kernel = kernel_sse3;
} }
else else
#endif #endif
#ifdef WITH_CYCLES_OPTIMIZED_KERNEL_SSE2 #ifdef WITH_CYCLES_OPTIMIZED_KERNEL_SSE2
if(system_cpu_support_sse2()) { if(DebugFlags().cpu.sse2 && system_cpu_support_sse2()) {
architecture_name = "SSE2"; architecture_name = "SSE2";
kernel = kernel_sse2; kernel = kernel_sse2;
} }

View File

@@ -50,8 +50,7 @@ void *device_memory::host_alloc(size_t size)
return 0; return 0;
} }
size_t alignment = device->mem_address_alignment(); void *ptr = util_aligned_malloc(size, MIN_ALIGNMENT_CPU_DATA_TYPES);
void *ptr = util_aligned_malloc(size, alignment);
if(ptr) { if(ptr) {
util_guarded_mem_alloc(size); util_guarded_mem_alloc(size);

View File

@@ -21,7 +21,6 @@
* *
* Data types for allocating, copying and freeing device memory. */ * Data types for allocating, copying and freeing device memory. */
#include "util/util_debug.h"
#include "util/util_half.h" #include "util/util_half.h"
#include "util/util_texture.h" #include "util/util_texture.h"
#include "util/util_types.h" #include "util/util_types.h"

View File

@@ -21,6 +21,7 @@
#include "kernel/kernel_types.h" #include "kernel/kernel_types.h"
#include "util/util_algorithm.h" #include "util/util_algorithm.h"
#include "util/util_debug.h"
#include "util/util_foreach.h" #include "util/util_foreach.h"
#include "util/util_logging.h" #include "util/util_logging.h"
#include "util/util_md5.h" #include "util/util_md5.h"

View File

@@ -26,6 +26,7 @@
#include "device/device_split_kernel.h" #include "device/device_split_kernel.h"
#include "util/util_algorithm.h" #include "util/util_algorithm.h"
#include "util/util_debug.h"
#include "util/util_logging.h" #include "util/util_logging.h"
#include "util/util_md5.h" #include "util/util_md5.h"
#include "util/util_path.h" #include "util/util_path.h"

View File

@@ -18,6 +18,7 @@
#include "device/opencl/opencl.h" #include "device/opencl/opencl.h"
#include "util/util_debug.h"
#include "util/util_logging.h" #include "util/util_logging.h"
#include "util/util_md5.h" #include "util/util_md5.h"
#include "util/util_path.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 OpenCLInfo::mem_address_alignment(cl_device_id device_id)
{ {
int base_align_bits; int base_align_bytes;
if(clGetDeviceInfo(device_id, if(clGetDeviceInfo(device_id,
CL_DEVICE_MEM_BASE_ADDR_ALIGN, CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE,
sizeof(int), sizeof(int),
&base_align_bits, &base_align_bytes,
NULL) == CL_SUCCESS) NULL) == CL_SUCCESS)
{ {
return base_align_bits/8; return base_align_bytes;
} }
return 1; return 1;
} }

View File

@@ -35,7 +35,6 @@
# define __NODES_FEATURES__ NODE_FEATURE_ALL # define __NODES_FEATURES__ NODE_FEATURE_ALL
#endif #endif
#include "util/util_debug.h"
#include "util/util_math.h" #include "util/util_math.h"
#include "util/util_simd.h" #include "util/util_simd.h"
#include "util/util_half.h" #include "util/util_half.h"

View File

@@ -25,7 +25,6 @@
#include "kernel/filter/filter_kernel.h" #include "kernel/filter/filter_kernel.h"
#ifdef KERNEL_STUB #ifdef KERNEL_STUB
# include "util/util_debug.h"
# define STUB_ASSERT(arch, name) assert(!(#name " kernel stub for architecture " #arch " was called!")) # define STUB_ASSERT(arch, name) assert(!(#name " kernel stub for architecture " #arch " was called!"))
#endif #endif

View File

@@ -59,7 +59,6 @@
# include "kernel/split/kernel_buffer_update.h" # include "kernel/split/kernel_buffer_update.h"
# endif /* __SPLIT_KERNEL__ */ # endif /* __SPLIT_KERNEL__ */
#else #else
# include "util/util_debug.h"
# define STUB_ASSERT(arch, name) assert(!(#name " kernel stub for architecture " #arch " was called!")) # define STUB_ASSERT(arch, name) assert(!(#name " kernel stub for architecture " #arch " was called!"))
# ifdef __SPLIT_KERNEL__ # ifdef __SPLIT_KERNEL__

View File

@@ -36,7 +36,6 @@
#include "kernel/osl/osl_closures.h" #include "kernel/osl/osl_closures.h"
#include "kernel/osl/osl_shader.h" #include "kernel/osl/osl_shader.h"
#include "util/util_debug.h"
#include "util/util_math.h" #include "util/util_math.h"
#include "util/util_param.h" #include "util/util_param.h"

View File

@@ -18,7 +18,6 @@
#include "render/mesh.h" #include "render/mesh.h"
#include "render/attribute.h" #include "render/attribute.h"
#include "util/util_debug.h"
#include "util/util_foreach.h" #include "util/util_foreach.h"
#include "util/util_transform.h" #include "util/util_transform.h"

View File

@@ -19,7 +19,6 @@
#include "render/buffers.h" #include "render/buffers.h"
#include "device/device.h" #include "device/device.h"
#include "util/util_debug.h"
#include "util/util_foreach.h" #include "util/util_foreach.h"
#include "util/util_hash.h" #include "util/util_hash.h"
#include "util/util_image.h" #include "util/util_image.h"

View File

@@ -23,7 +23,6 @@
#include "render/tables.h" #include "render/tables.h"
#include "util/util_algorithm.h" #include "util/util_algorithm.h"
#include "util/util_debug.h"
#include "util/util_foreach.h" #include "util/util_foreach.h"
#include "util/util_math.h" #include "util/util_math.h"
#include "util/util_math_cdf.h" #include "util/util_math_cdf.h"

View File

@@ -22,7 +22,6 @@
#include "render/constant_fold.h" #include "render/constant_fold.h"
#include "util/util_algorithm.h" #include "util/util_algorithm.h"
#include "util/util_debug.h"
#include "util/util_foreach.h" #include "util/util_foreach.h"
#include "util/util_queue.h" #include "util/util_queue.h"
#include "util/util_logging.h" #include "util/util_logging.h"

View File

@@ -46,7 +46,6 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#include "util/util_debug.h"
#include "util/util_types.h" #include "util/util_types.h"
#include "render/sobol.h" #include "render/sobol.h"

View File

@@ -23,7 +23,6 @@
#include "render/shader.h" #include "render/shader.h"
#include "render/svm.h" #include "render/svm.h"
#include "util/util_debug.h"
#include "util/util_logging.h" #include "util/util_logging.h"
#include "util/util_foreach.h" #include "util/util_foreach.h"
#include "util/util_progress.h" #include "util/util_progress.h"

View File

@@ -18,7 +18,6 @@
#include "render/scene.h" #include "render/scene.h"
#include "render/tables.h" #include "render/tables.h"
#include "util/util_debug.h"
#include "util/util_logging.h" #include "util/util_logging.h"
CCL_NAMESPACE_BEGIN CCL_NAMESPACE_BEGIN

View File

@@ -20,8 +20,6 @@
#include "subd/subd_dice.h" #include "subd/subd_dice.h"
#include "subd/subd_patch.h" #include "subd/subd_patch.h"
#include "util/util_debug.h"
CCL_NAMESPACE_BEGIN CCL_NAMESPACE_BEGIN
/* EdgeDice Base */ /* EdgeDice Base */

View File

@@ -21,7 +21,6 @@
#include "subd/subd_patch.h" #include "subd/subd_patch.h"
#include "subd/subd_split.h" #include "subd/subd_split.h"
#include "util/util_debug.h"
#include "util/util_math.h" #include "util/util_math.h"
#include "util/util_types.h" #include "util/util_types.h"

View File

@@ -21,6 +21,9 @@
CCL_NAMESPACE_BEGIN 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. */ /* Allocate block of size bytes at least aligned to a given value. */
void *util_aligned_malloc(size_t size, int alignment); void *util_aligned_malloc(size_t size, int alignment);

View File

@@ -20,8 +20,6 @@
#include <cassert> #include <cassert>
#include <iostream> #include <iostream>
#include "util/util_static_assert.h"
CCL_NAMESPACE_BEGIN CCL_NAMESPACE_BEGIN
/* Global storage for all sort of flags used to fine-tune behavior of particular /* Global storage for all sort of flags used to fine-tune behavior of particular

View File

@@ -20,9 +20,6 @@
#include <cstddef> #include <cstddef>
#include <memory> #include <memory>
#include "util/util_debug.h"
#include "util/util_types.h"
#ifdef WITH_BLENDER_GUARDEDALLOC #ifdef WITH_BLENDER_GUARDEDALLOC
# include "../../guardedalloc/MEM_guardedalloc.h" # include "../../guardedalloc/MEM_guardedalloc.h"
#endif #endif

View File

@@ -18,7 +18,6 @@
#define __UTIL_IMAGE_IMPL_H__ #define __UTIL_IMAGE_IMPL_H__
#include "util/util_algorithm.h" #include "util/util_algorithm.h"
#include "util/util_debug.h"
#include "util/util_half.h" #include "util/util_half.h"
#include "util/util_image.h" #include "util/util_image.h"

View File

@@ -14,7 +14,6 @@
* limitations under the License. * limitations under the License.
*/ */
#include "util/util_debug.h"
#include "util/util_md5.h" #include "util/util_md5.h"
#include "util/util_path.h" #include "util/util_path.h"
#include "util/util_string.h" #include "util/util_string.h"

View File

@@ -22,7 +22,6 @@
#include <limits> #include <limits>
#include "util/util_debug.h"
#include "util/util_defines.h" #include "util/util_defines.h"
/* SSE Intrinsics includes /* SSE Intrinsics includes

View File

@@ -20,9 +20,6 @@
#include <cstddef> #include <cstddef>
#include <memory> #include <memory>
#include "util/util_debug.h"
#include "util/util_types.h"
CCL_NAMESPACE_BEGIN CCL_NAMESPACE_BEGIN
/* Stack allocator for the use with STL. */ /* Stack allocator for the use with STL. */

View File

@@ -16,7 +16,6 @@
#include "util/util_system.h" #include "util/util_system.h"
#include "util/util_debug.h"
#include "util/util_logging.h" #include "util/util_logging.h"
#include "util/util_types.h" #include "util/util_types.h"
#include "util/util_string.h" #include "util/util_string.h"
@@ -234,35 +233,34 @@ static CPUCapabilities& system_cpu_capabilities()
bool system_cpu_support_sse2() bool system_cpu_support_sse2()
{ {
CPUCapabilities& caps = system_cpu_capabilities(); CPUCapabilities& caps = system_cpu_capabilities();
return DebugFlags().cpu.sse2 && caps.sse && caps.sse2; return caps.sse && caps.sse2;
} }
bool system_cpu_support_sse3() bool system_cpu_support_sse3()
{ {
CPUCapabilities& caps = system_cpu_capabilities(); CPUCapabilities& caps = system_cpu_capabilities();
return DebugFlags().cpu.sse3 && return caps.sse && caps.sse2 && caps.sse3 && caps.ssse3;
caps.sse && caps.sse2 && caps.sse3 && caps.ssse3;
} }
bool system_cpu_support_sse41() bool system_cpu_support_sse41()
{ {
CPUCapabilities& caps = system_cpu_capabilities(); CPUCapabilities& caps = system_cpu_capabilities();
return DebugFlags().cpu.sse41 && return caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && caps.sse41;
caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && caps.sse41;
} }
bool system_cpu_support_avx() bool system_cpu_support_avx()
{ {
CPUCapabilities& caps = system_cpu_capabilities(); CPUCapabilities& caps = system_cpu_capabilities();
return DebugFlags().cpu.avx && return caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 &&
caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && caps.sse41 && caps.avx; caps.sse41 && caps.avx;
} }
bool system_cpu_support_avx2() bool system_cpu_support_avx2()
{ {
CPUCapabilities& caps = system_cpu_capabilities(); CPUCapabilities& caps = system_cpu_capabilities();
return DebugFlags().cpu.avx2 && return caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && caps.sse41 &&
caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && caps.sse41 && caps.avx && caps.f16c && caps.avx2 && caps.fma3 && caps.bmi1 && caps.bmi2; caps.avx && caps.f16c && caps.avx2 && caps.fma3 && caps.bmi1 &&
caps.bmi2;
} }
#else #else

View File

@@ -14,7 +14,6 @@
* limitations under the License. * limitations under the License.
*/ */
#include "util/util_debug.h"
#include "util/util_foreach.h" #include "util/util_foreach.h"
#include "util/util_logging.h" #include "util/util_logging.h"
#include "util/util_system.h" #include "util/util_system.h"

View File

@@ -86,9 +86,9 @@ public:
* this was actually showing up in profiles quite significantly. it * this was actually showing up in profiles quite significantly. it
* also does not run any constructors/destructors * also does not run any constructors/destructors
* - if this is used, we are not tempted to use inefficient operations * - 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<typename T, size_t alignment = 16> template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
class array class array
{ {
public: public:

View File

@@ -138,7 +138,7 @@ class OUTLINER_MT_view(Menu):
space = context.space_data 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, "use_sort_alpha")
layout.prop(space, "show_restrict_columns") layout.prop(space, "show_restrict_columns")
layout.separator() layout.separator()