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

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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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;

View File

@ -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;
}

View File

@ -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);

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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;
}

View File

@ -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"

View File

@ -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

View File

@ -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__

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

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

View File

@ -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"

View File

@ -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);

View File

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

View File

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

View File

@ -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"

View File

@ -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"

View File

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

View File

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

View File

@ -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

View File

@ -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"

View File

@ -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<typename T, size_t alignment = 16>
template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES>
class array
{
public:

View File

@ -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()