[Bf-blender-cvs] [c86d4b1d804] master: Cycles: Cleanup, split array from vector

Sergey Sharybin noreply at git.blender.org
Fri Nov 9 14:33:45 CET 2018


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



More information about the Bf-blender-cvs mailing list