Commit: c86d4b1d804eb9284eee1c796080196e7a48b3f8 Author: Sergey Sharybin Date: Fri Nov 9 11:54:24 2018 +0100 Branches: master https://developer.blender.org/rBc86d4b1d804eb9284eee1c796080196e7a48b3f8
Cycles: Cleanup, split array from vector Those are similar but different types, no reason to keep their definitions in a single file. =================================================================== M intern/cycles/blender/blender_util.h M intern/cycles/bvh/bvh.h M intern/cycles/bvh/bvh_build.h M intern/cycles/device/device_memory.h M intern/cycles/graph/node.h M intern/cycles/graph/node_type.h M intern/cycles/render/camera.h M intern/cycles/render/curves.h M intern/cycles/render/mesh.h M intern/cycles/render/nodes.h M intern/cycles/render/object.h M intern/cycles/render/osl.h M intern/cycles/render/particles.h M intern/cycles/render/svm.h M intern/cycles/subd/subd_patch_table.h M intern/cycles/test/render_graph_finalize_test.cpp M intern/cycles/util/CMakeLists.txt A intern/cycles/util/util_array.h M intern/cycles/util/util_vector.h =================================================================== diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h index 8f5fb5971ff..eb7019f45bc 100644 --- a/intern/cycles/blender/blender_util.h +++ b/intern/cycles/blender/blender_util.h @@ -20,6 +20,7 @@ #include "render/mesh.h" #include "util/util_algorithm.h" +#include "util/util_array.h" #include "util/util_map.h" #include "util/util_path.h" #include "util/util_set.h" diff --git a/intern/cycles/bvh/bvh.h b/intern/cycles/bvh/bvh.h index 9c290139e74..c8ad29004d7 100644 --- a/intern/cycles/bvh/bvh.h +++ b/intern/cycles/bvh/bvh.h @@ -19,7 +19,7 @@ #define __BVH_H__ #include "bvh/bvh_params.h" - +#include "util/util_array.h" #include "util/util_types.h" #include "util/util_vector.h" diff --git a/intern/cycles/bvh/bvh_build.h b/intern/cycles/bvh/bvh_build.h index 6dae5a9e6bf..dd95a5cc0e8 100644 --- a/intern/cycles/bvh/bvh_build.h +++ b/intern/cycles/bvh/bvh_build.h @@ -23,6 +23,7 @@ #include "bvh/bvh_params.h" #include "bvh/bvh_unaligned.h" +#include "util/util_array.h" #include "util/util_task.h" #include "util/util_vector.h" diff --git a/intern/cycles/device/device_memory.h b/intern/cycles/device/device_memory.h index 1801cda0de0..e43834bdc8d 100644 --- a/intern/cycles/device/device_memory.h +++ b/intern/cycles/device/device_memory.h @@ -21,6 +21,7 @@ * * Data types for allocating, copying and freeing device memory. */ +#include "util/util_array.h" #include "util/util_half.h" #include "util/util_texture.h" #include "util/util_types.h" diff --git a/intern/cycles/graph/node.h b/intern/cycles/graph/node.h index 11695a8631d..d50a3786139 100644 --- a/intern/cycles/graph/node.h +++ b/intern/cycles/graph/node.h @@ -18,9 +18,9 @@ #include "graph/node_type.h" +#include "util/util_array.h" #include "util/util_map.h" #include "util/util_param.h" -#include "util/util_vector.h" CCL_NAMESPACE_BEGIN diff --git a/intern/cycles/graph/node_type.h b/intern/cycles/graph/node_type.h index 1d565794b27..7d6abae2314 100644 --- a/intern/cycles/graph/node_type.h +++ b/intern/cycles/graph/node_type.h @@ -17,7 +17,7 @@ #pragma once #include "graph/node_enum.h" - +#include "util/util_array.h" #include "util/util_map.h" #include "util/util_param.h" #include "util/util_string.h" diff --git a/intern/cycles/render/camera.h b/intern/cycles/render/camera.h index 9f0830d7a54..37f5dea624f 100644 --- a/intern/cycles/render/camera.h +++ b/intern/cycles/render/camera.h @@ -21,6 +21,7 @@ #include "graph/node.h" +#include "util/util_array.h" #include "util/util_boundbox.h" #include "util/util_projection.h" #include "util/util_transform.h" diff --git a/intern/cycles/render/curves.h b/intern/cycles/render/curves.h index 3d8611ca714..cf75751c58f 100644 --- a/intern/cycles/render/curves.h +++ b/intern/cycles/render/curves.h @@ -17,8 +17,8 @@ #ifndef __CURVES_H__ #define __CURVES_H__ +#include "util/util_array.h" #include "util/util_types.h" -#include "util/util_vector.h" CCL_NAMESPACE_BEGIN diff --git a/intern/cycles/render/mesh.h b/intern/cycles/render/mesh.h index 8a6629e38f8..7d36b2cd7ca 100644 --- a/intern/cycles/render/mesh.h +++ b/intern/cycles/render/mesh.h @@ -22,6 +22,7 @@ #include "render/attribute.h" #include "render/shader.h" +#include "util/util_array.h" #include "util/util_boundbox.h" #include "util/util_list.h" #include "util/util_map.h" diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index 154ae31551c..048f0fcaa24 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -20,6 +20,7 @@ #include "render/graph.h" #include "graph/node.h" +#include "util/util_array.h" #include "util/util_string.h" CCL_NAMESPACE_BEGIN diff --git a/intern/cycles/render/object.h b/intern/cycles/render/object.h index 285362f7ec4..87e6e6652ad 100644 --- a/intern/cycles/render/object.h +++ b/intern/cycles/render/object.h @@ -20,11 +20,13 @@ #include "graph/node.h" #include "render/scene.h" +#include "util/util_array.h" #include "util/util_boundbox.h" #include "util/util_param.h" #include "util/util_transform.h" #include "util/util_thread.h" #include "util/util_types.h" +#include "util/util_vector.h" CCL_NAMESPACE_BEGIN diff --git a/intern/cycles/render/osl.h b/intern/cycles/render/osl.h index d0542d1ae92..e196e0be787 100644 --- a/intern/cycles/render/osl.h +++ b/intern/cycles/render/osl.h @@ -17,6 +17,7 @@ #ifndef __OSL_H__ #define __OSL_H__ +#include "util/util_array.h" #include "util/util_set.h" #include "util/util_string.h" #include "util/util_thread.h" diff --git a/intern/cycles/render/particles.h b/intern/cycles/render/particles.h index 3a744c9c73f..27821907af0 100644 --- a/intern/cycles/render/particles.h +++ b/intern/cycles/render/particles.h @@ -17,8 +17,8 @@ #ifndef __PARTICLES_H__ #define __PARTICLES_H__ +#include "util/util_array.h" #include "util/util_types.h" -#include "util/util_vector.h" CCL_NAMESPACE_BEGIN diff --git a/intern/cycles/render/svm.h b/intern/cycles/render/svm.h index 6a1f24462fb..af97a490a87 100644 --- a/intern/cycles/render/svm.h +++ b/intern/cycles/render/svm.h @@ -21,6 +21,7 @@ #include "render/graph.h" #include "render/shader.h" +#include "util/util_array.h" #include "util/util_set.h" #include "util/util_string.h" #include "util/util_thread.h" diff --git a/intern/cycles/subd/subd_patch_table.h b/intern/cycles/subd/subd_patch_table.h index d96a43adfb9..1765578c42e 100644 --- a/intern/cycles/subd/subd_patch_table.h +++ b/intern/cycles/subd/subd_patch_table.h @@ -17,8 +17,8 @@ #ifndef __SUBD_PATCH_TABLE_H__ #define __SUBD_PATCH_TABLE_H__ +#include "util/util_array.h" #include "util/util_types.h" -#include "util/util_vector.h" #ifdef WITH_OPENSUBDIV #ifdef _MSC_VER diff --git a/intern/cycles/test/render_graph_finalize_test.cpp b/intern/cycles/test/render_graph_finalize_test.cpp index b66a91adbda..cfdab7a6433 100644 --- a/intern/cycles/test/render_graph_finalize_test.cpp +++ b/intern/cycles/test/render_graph_finalize_test.cpp @@ -20,6 +20,7 @@ #include "render/graph.h" #include "render/scene.h" #include "render/nodes.h" +#include "util/util_array.h" #include "util/util_logging.h" #include "util/util_string.h" #include "util/util_vector.h" diff --git a/intern/cycles/util/CMakeLists.txt b/intern/cycles/util/CMakeLists.txt index 4f623c5dfb7..77d47984ee7 100644 --- a/intern/cycles/util/CMakeLists.txt +++ b/intern/cycles/util/CMakeLists.txt @@ -37,6 +37,7 @@ set(SRC_HEADERS util_algorithm.h util_aligned_malloc.h util_args.h + util_array.h util_atomic.h util_boundbox.h util_debug.h diff --git a/intern/cycles/util/util_vector.h b/intern/cycles/util/util_array.h similarity index 83% copy from intern/cycles/util/util_vector.h copy to intern/cycles/util/util_array.h index 082c531b69a..5f18d434c31 100644 --- a/intern/cycles/util/util_vector.h +++ b/intern/cycles/util/util_array.h @@ -1,5 +1,5 @@ /* - * Copyright 2011-2013 Blender Foundation + * Copyright 2011-2018 Blender Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,55 +14,20 @@ * limitations under the License. */ -#ifndef __UTIL_VECTOR_H__ -#define __UTIL_VECTOR_H__ - -/* Vector */ +#ifndef __UTIL_ARRAY_H__ +#define __UTIL_ARRAY_H__ #include <cassert> #include <cstring> -#include <vector> #include "util/util_aligned_malloc.h" #include "util/util_guarded_allocator.h" #include "util/util_types.h" +#include "util/util_vector.h" CCL_NAMESPACE_BEGIN -/* Vector - * - * Own subclass-ed vestion of std::vector. Subclass is needed because: - * - * - Use own allocator which keeps track of used/peak memory. - * - Have method to ensure capacity is re-set to 0. - */ -template<typename value_type, - typename allocator_type = GuardedAllocator<value_type> > -class vector : public std::vector<value_type, allocator_type> -{ -public: - typedef std::vector<value_type, allocator_type> BaseClass; - - /* Inherit all constructors from base class. */ - using BaseClass::vector; - - /* Try as hard as possible to use zero memory. */ - void free_memory(void) - { - BaseClass::resize(0); - BaseClass::shrink_to_fit(); - } - - /* Some external API might demand working with std::vector. */ - operator std::vector<value_type>() - { - return std::vector<value_type>(this->begin(), this->end()); - } -}; - -/* Array - * - * Simplified version of vector, serving multiple purposes: +/* Simplified version of vector, serving multiple purposes: * - somewhat faster in that it does not clear memory on resize/alloc, * this was actually showing up in profiles quite significantly. it * also does not run any constructors/destructors @@ -321,4 +286,4 @@ protected: CCL_NAMESPACE_END -#endif /* __UTIL_VECTOR_H__ */ +#endif /* __UTIL_ARRAY_H__ */ diff --git a/intern/cycles/util/util_vector.h b/intern/cycles/util/util_vector.h index 082c531b69a..fb9c5784adf 100644 --- a/intern/cycles/util/util_vector.h +++ b/intern/cycles/util/util_vector.h @@ -17,8 +17,6 @@ #ifndef __UTIL_VECTOR_H__ #define __UTIL_VECTOR_H__ -/* Vector */ - #include <cassert> #include <cstring> #include <vector> @@ -29,9 +27,7 @@ CCL_NAMESPACE_BEGIN -/* Vector - * - * Own subclass-ed vestion of std::vector. Subclass is needed because: +/* Own subclass-ed vestion of std::vector. Subclass is needed because: * * - Use own allocator which keeps track of used/peak memory. * - Have method to ensure capacity is re-set to 0. @@ -60,265 +56,6 @@ public: } }; -/* Array - * - * Simplified version of vector, serving multiple purposes: - * - somewhat faster in that it does not clear memory on resize/alloc, - * 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 CPU native data types */ - -template<typename T, size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES> -class array -{ -public: - array() - : data_(NULL), - datasize_(0), - capacity_(0) - {} - - explicit array(size_t newsize) - { - if(newsize == 0) { - data_ = NULL; - datasize_ = 0; - capacity_ = 0; - } @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs