Cleanup: remove unnecessary extern template implementations
This technique isn't really necessary anymore, because unity builds avoid instantiating the same template too many times already.
This commit is contained in:
parent
7d1a10a9bb
commit
c2292b2cd6
|
@ -516,19 +516,3 @@ template<typename T> inline MutableSpan<T> OutputAttribute::as_span()
|
||||||
/** \} */
|
/** \} */
|
||||||
|
|
||||||
} // namespace blender::bke
|
} // namespace blender::bke
|
||||||
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
/** \name External Template Instantiations
|
|
||||||
*
|
|
||||||
* Defined in `intern/extern_implementations.cc`.
|
|
||||||
* \{ */
|
|
||||||
|
|
||||||
namespace blender::bke {
|
|
||||||
extern template class OutputAttribute_Typed<float>;
|
|
||||||
extern template class OutputAttribute_Typed<int>;
|
|
||||||
extern template class OutputAttribute_Typed<float3>;
|
|
||||||
extern template class OutputAttribute_Typed<bool>;
|
|
||||||
extern template class OutputAttribute_Typed<ColorGeometry4f>;
|
|
||||||
} // namespace blender::bke
|
|
||||||
|
|
||||||
/** \} */
|
|
||||||
|
|
|
@ -139,7 +139,6 @@ set(SRC
|
||||||
intern/editmesh_cache.c
|
intern/editmesh_cache.c
|
||||||
intern/editmesh_tangent.c
|
intern/editmesh_tangent.c
|
||||||
intern/effect.c
|
intern/effect.c
|
||||||
intern/extern_implementations.cc
|
|
||||||
intern/fcurve.c
|
intern/fcurve.c
|
||||||
intern/fcurve_cache.c
|
intern/fcurve_cache.c
|
||||||
intern/fcurve_driver.c
|
intern/fcurve_driver.c
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "BKE_attribute_access.hh"
|
|
||||||
|
|
||||||
namespace blender::bke {
|
|
||||||
|
|
||||||
template class OutputAttribute_Typed<float>;
|
|
||||||
template class OutputAttribute_Typed<int>;
|
|
||||||
template class OutputAttribute_Typed<float3>;
|
|
||||||
template class OutputAttribute_Typed<bool>;
|
|
||||||
template class OutputAttribute_Typed<ColorGeometry4f>;
|
|
||||||
|
|
||||||
} // namespace blender::bke
|
|
|
@ -277,7 +277,6 @@ set(SRC
|
||||||
texture/node_texture_util.c
|
texture/node_texture_util.c
|
||||||
|
|
||||||
intern/derived_node_tree.cc
|
intern/derived_node_tree.cc
|
||||||
intern/extern_implementations.cc
|
|
||||||
intern/geometry_nodes_eval_log.cc
|
intern/geometry_nodes_eval_log.cc
|
||||||
intern/math_functions.cc
|
intern/math_functions.cc
|
||||||
intern/node_common.cc
|
intern/node_common.cc
|
||||||
|
|
|
@ -369,26 +369,3 @@ inline Image::Image() : IDSocketDeclaration("NodeSocketImage")
|
||||||
/** \} */
|
/** \} */
|
||||||
|
|
||||||
} // namespace blender::nodes::decl
|
} // namespace blender::nodes::decl
|
||||||
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
/** \name External Template Instantiations
|
|
||||||
*
|
|
||||||
* Defined in `intern/extern_implementations.cc`.
|
|
||||||
* \{ */
|
|
||||||
|
|
||||||
namespace blender::nodes {
|
|
||||||
#define MAKE_EXTERN_SOCKET_DECLARATION(TYPE) \
|
|
||||||
extern template class SocketDeclarationBuilder<TYPE>; \
|
|
||||||
extern template TYPE::Builder &NodeDeclarationBuilder::add_input<TYPE>(StringRef, StringRef); \
|
|
||||||
extern template TYPE::Builder &NodeDeclarationBuilder::add_output<TYPE>(StringRef, StringRef);
|
|
||||||
|
|
||||||
MAKE_EXTERN_SOCKET_DECLARATION(decl::Float)
|
|
||||||
MAKE_EXTERN_SOCKET_DECLARATION(decl::Int)
|
|
||||||
MAKE_EXTERN_SOCKET_DECLARATION(decl::Vector)
|
|
||||||
MAKE_EXTERN_SOCKET_DECLARATION(decl::Bool)
|
|
||||||
MAKE_EXTERN_SOCKET_DECLARATION(decl::Color)
|
|
||||||
MAKE_EXTERN_SOCKET_DECLARATION(decl::String)
|
|
||||||
|
|
||||||
} // namespace blender::nodes
|
|
||||||
|
|
||||||
/** \} */
|
|
||||||
|
|
|
@ -52,7 +52,3 @@ class GeometryBuilder : public SocketDeclarationBuilder<Geometry> {
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace blender::nodes::decl
|
} // namespace blender::nodes::decl
|
||||||
|
|
||||||
namespace blender::nodes {
|
|
||||||
MAKE_EXTERN_SOCKET_DECLARATION(decl::Geometry)
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
/*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "NOD_socket_declarations.hh"
|
|
||||||
#include "NOD_socket_declarations_geometry.hh"
|
|
||||||
|
|
||||||
namespace blender::nodes {
|
|
||||||
#define MAKE_EXTERN_SOCKET_IMPLEMENTATION(TYPE) \
|
|
||||||
template class SocketDeclarationBuilder<TYPE>; \
|
|
||||||
template TYPE::Builder &NodeDeclarationBuilder::add_input<TYPE>(StringRef, StringRef); \
|
|
||||||
template TYPE::Builder &NodeDeclarationBuilder::add_output<TYPE>(StringRef, StringRef);
|
|
||||||
|
|
||||||
MAKE_EXTERN_SOCKET_IMPLEMENTATION(decl::Float)
|
|
||||||
MAKE_EXTERN_SOCKET_IMPLEMENTATION(decl::Int)
|
|
||||||
MAKE_EXTERN_SOCKET_IMPLEMENTATION(decl::Vector)
|
|
||||||
MAKE_EXTERN_SOCKET_IMPLEMENTATION(decl::Bool)
|
|
||||||
MAKE_EXTERN_SOCKET_IMPLEMENTATION(decl::Color)
|
|
||||||
MAKE_EXTERN_SOCKET_IMPLEMENTATION(decl::String)
|
|
||||||
MAKE_EXTERN_SOCKET_IMPLEMENTATION(decl::Geometry)
|
|
||||||
|
|
||||||
#undef MAKE_EXTERN_SOCKET_IMPLEMENTATION
|
|
||||||
} // namespace blender::nodes
|
|
Loading…
Reference in New Issue