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
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/** \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_tangent.c
|
||||
intern/effect.c
|
||||
intern/extern_implementations.cc
|
||||
intern/fcurve.c
|
||||
intern/fcurve_cache.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
|
||||
|
||||
intern/derived_node_tree.cc
|
||||
intern/extern_implementations.cc
|
||||
intern/geometry_nodes_eval_log.cc
|
||||
intern/math_functions.cc
|
||||
intern/node_common.cc
|
||||
|
|
|
@ -369,26 +369,3 @@ inline Image::Image() : IDSocketDeclaration("NodeSocketImage")
|
|||
/** \} */
|
||||
|
||||
} // 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 {
|
||||
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