Merge remote-tracking branch 'origin/master' into blender2.8
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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__
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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. */
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user