Shader Nodes: Unity Build
- Create a new `bf_nodes_shader` library - Enable unity builds for `bf_nodes_shader`, gives abount a 2.7x speed up for compile times Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D13484
This commit is contained in:
committed by
Aaron Carlisle
parent
0c703b856b
commit
f72cc47d8e
@@ -19,6 +19,7 @@
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
add_subdirectory(geometry)
|
||||
add_subdirectory(shader)
|
||||
|
||||
set(INC
|
||||
.
|
||||
@@ -157,99 +158,6 @@ set(SRC
|
||||
function/nodes/node_fn_value_to_string.cc
|
||||
function/node_function_util.cc
|
||||
|
||||
shader/nodes/node_shader_add_shader.cc
|
||||
shader/nodes/node_shader_ambient_occlusion.cc
|
||||
shader/nodes/node_shader_attribute.cc
|
||||
shader/nodes/node_shader_background.cc
|
||||
shader/nodes/node_shader_bevel.cc
|
||||
shader/nodes/node_shader_blackbody.cc
|
||||
shader/nodes/node_shader_brightness.cc
|
||||
shader/nodes/node_shader_bsdf_anisotropic.cc
|
||||
shader/nodes/node_shader_bsdf_diffuse.cc
|
||||
shader/nodes/node_shader_bsdf_glass.cc
|
||||
shader/nodes/node_shader_bsdf_glossy.cc
|
||||
shader/nodes/node_shader_bsdf_hair.cc
|
||||
shader/nodes/node_shader_bsdf_hair_principled.cc
|
||||
shader/nodes/node_shader_bsdf_principled.cc
|
||||
shader/nodes/node_shader_bsdf_refraction.cc
|
||||
shader/nodes/node_shader_bsdf_toon.cc
|
||||
shader/nodes/node_shader_bsdf_translucent.cc
|
||||
shader/nodes/node_shader_bsdf_transparent.cc
|
||||
shader/nodes/node_shader_bsdf_velvet.cc
|
||||
shader/nodes/node_shader_bump.cc
|
||||
shader/nodes/node_shader_camera.cc
|
||||
shader/nodes/node_shader_clamp.cc
|
||||
shader/nodes/node_shader_common.cc
|
||||
shader/nodes/node_shader_curves.cc
|
||||
shader/nodes/node_shader_displacement.cc
|
||||
shader/nodes/node_shader_eevee_specular.cc
|
||||
shader/nodes/node_shader_emission.cc
|
||||
shader/nodes/node_shader_fresnel.cc
|
||||
shader/nodes/node_shader_gamma.cc
|
||||
shader/nodes/node_shader_geometry.cc
|
||||
shader/nodes/node_shader_hair_info.cc
|
||||
shader/nodes/node_shader_holdout.cc
|
||||
shader/nodes/node_shader_hueSatVal.cc
|
||||
shader/nodes/node_shader_ies_light.cc
|
||||
shader/nodes/node_shader_invert.cc
|
||||
shader/nodes/node_shader_layer_weight.cc
|
||||
shader/nodes/node_shader_light_falloff.cc
|
||||
shader/nodes/node_shader_light_path.cc
|
||||
shader/nodes/node_shader_map_range.cc
|
||||
shader/nodes/node_shader_mapping.cc
|
||||
shader/nodes/node_shader_math.cc
|
||||
shader/nodes/node_shader_mixRgb.cc
|
||||
shader/nodes/node_shader_mix_shader.cc
|
||||
shader/nodes/node_shader_normal.cc
|
||||
shader/nodes/node_shader_normal_map.cc
|
||||
shader/nodes/node_shader_object_info.cc
|
||||
shader/nodes/node_shader_output_aov.cc
|
||||
shader/nodes/node_shader_output_light.cc
|
||||
shader/nodes/node_shader_output_linestyle.cc
|
||||
shader/nodes/node_shader_output_material.cc
|
||||
shader/nodes/node_shader_output_world.cc
|
||||
shader/nodes/node_shader_particle_info.cc
|
||||
shader/nodes/node_shader_rgb.cc
|
||||
shader/nodes/node_shader_script.cc
|
||||
shader/nodes/node_shader_sepcombHSV.cc
|
||||
shader/nodes/node_shader_sepcombRGB.cc
|
||||
shader/nodes/node_shader_sepcombXYZ.cc
|
||||
shader/nodes/node_shader_shaderToRgb.cc
|
||||
shader/nodes/node_shader_squeeze.cc
|
||||
shader/nodes/node_shader_subsurface_scattering.cc
|
||||
shader/nodes/node_shader_tangent.cc
|
||||
shader/nodes/node_shader_tex_brick.cc
|
||||
shader/nodes/node_shader_tex_checker.cc
|
||||
shader/nodes/node_shader_tex_coord.cc
|
||||
shader/nodes/node_shader_tex_environment.cc
|
||||
shader/nodes/node_shader_tex_gradient.cc
|
||||
shader/nodes/node_shader_tex_image.cc
|
||||
shader/nodes/node_shader_tex_magic.cc
|
||||
shader/nodes/node_shader_tex_musgrave.cc
|
||||
shader/nodes/node_shader_tex_noise.cc
|
||||
shader/nodes/node_shader_tex_pointdensity.cc
|
||||
shader/nodes/node_shader_tex_sky.cc
|
||||
shader/nodes/node_shader_tex_voronoi.cc
|
||||
shader/nodes/node_shader_tex_wave.cc
|
||||
shader/nodes/node_shader_tex_white_noise.cc
|
||||
shader/nodes/node_shader_uvAlongStroke.cc
|
||||
shader/nodes/node_shader_uvmap.cc
|
||||
shader/nodes/node_shader_valToRgb.cc
|
||||
shader/nodes/node_shader_value.cc
|
||||
shader/nodes/node_shader_vectTransform.cc
|
||||
shader/nodes/node_shader_vector_displacement.cc
|
||||
shader/nodes/node_shader_vector_math.cc
|
||||
shader/nodes/node_shader_vector_rotate.cc
|
||||
shader/nodes/node_shader_vertex_color.cc
|
||||
shader/nodes/node_shader_volume_absorption.cc
|
||||
shader/nodes/node_shader_volume_info.cc
|
||||
shader/nodes/node_shader_volume_principled.cc
|
||||
shader/nodes/node_shader_volume_scatter.cc
|
||||
shader/nodes/node_shader_wavelength.cc
|
||||
shader/nodes/node_shader_wireframe.cc
|
||||
shader/node_shader_tree.cc
|
||||
shader/node_shader_util.cc
|
||||
|
||||
texture/nodes/node_texture_at.c
|
||||
texture/nodes/node_texture_bricks.c
|
||||
texture/nodes/node_texture_checker.c
|
||||
@@ -321,8 +229,8 @@ set(SRC
|
||||
set(LIB
|
||||
bf_bmesh
|
||||
bf_functions
|
||||
bf_intern_sky
|
||||
bf_nodes_geometry
|
||||
bf_nodes_shader
|
||||
)
|
||||
|
||||
if(WITH_BULLET)
|
||||
|
||||
167
source/blender/nodes/shader/CMakeLists.txt
Normal file
167
source/blender/nodes/shader/CMakeLists.txt
Normal file
@@ -0,0 +1,167 @@
|
||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
set(INC
|
||||
.
|
||||
../
|
||||
../intern
|
||||
../../blenkernel
|
||||
../../blenlib
|
||||
../../blentranslation
|
||||
../../depsgraph
|
||||
../../functions
|
||||
../../gpu
|
||||
../../imbuf
|
||||
../../makesdna
|
||||
../../makesrna
|
||||
../../render
|
||||
../../windowmanager
|
||||
../../../../intern/guardedalloc
|
||||
../../../../intern/sky/include
|
||||
)
|
||||
|
||||
|
||||
set(SRC
|
||||
nodes/node_shader_add_shader.cc
|
||||
nodes/node_shader_ambient_occlusion.cc
|
||||
nodes/node_shader_attribute.cc
|
||||
nodes/node_shader_background.cc
|
||||
nodes/node_shader_bevel.cc
|
||||
nodes/node_shader_blackbody.cc
|
||||
nodes/node_shader_brightness.cc
|
||||
nodes/node_shader_bsdf_anisotropic.cc
|
||||
nodes/node_shader_bsdf_diffuse.cc
|
||||
nodes/node_shader_bsdf_glass.cc
|
||||
nodes/node_shader_bsdf_glossy.cc
|
||||
nodes/node_shader_bsdf_hair.cc
|
||||
nodes/node_shader_bsdf_hair_principled.cc
|
||||
nodes/node_shader_bsdf_principled.cc
|
||||
nodes/node_shader_bsdf_refraction.cc
|
||||
nodes/node_shader_bsdf_toon.cc
|
||||
nodes/node_shader_bsdf_translucent.cc
|
||||
nodes/node_shader_bsdf_transparent.cc
|
||||
nodes/node_shader_bsdf_velvet.cc
|
||||
nodes/node_shader_bump.cc
|
||||
nodes/node_shader_camera.cc
|
||||
nodes/node_shader_clamp.cc
|
||||
nodes/node_shader_common.cc
|
||||
nodes/node_shader_curves.cc
|
||||
nodes/node_shader_displacement.cc
|
||||
nodes/node_shader_eevee_specular.cc
|
||||
nodes/node_shader_emission.cc
|
||||
nodes/node_shader_fresnel.cc
|
||||
nodes/node_shader_gamma.cc
|
||||
nodes/node_shader_geometry.cc
|
||||
nodes/node_shader_hair_info.cc
|
||||
nodes/node_shader_holdout.cc
|
||||
nodes/node_shader_hueSatVal.cc
|
||||
nodes/node_shader_ies_light.cc
|
||||
nodes/node_shader_invert.cc
|
||||
nodes/node_shader_layer_weight.cc
|
||||
nodes/node_shader_light_falloff.cc
|
||||
nodes/node_shader_light_path.cc
|
||||
nodes/node_shader_map_range.cc
|
||||
nodes/node_shader_mapping.cc
|
||||
nodes/node_shader_math.cc
|
||||
nodes/node_shader_mixRgb.cc
|
||||
nodes/node_shader_mix_shader.cc
|
||||
nodes/node_shader_normal.cc
|
||||
nodes/node_shader_normal_map.cc
|
||||
nodes/node_shader_object_info.cc
|
||||
nodes/node_shader_output_aov.cc
|
||||
nodes/node_shader_output_light.cc
|
||||
nodes/node_shader_output_linestyle.cc
|
||||
nodes/node_shader_output_material.cc
|
||||
nodes/node_shader_output_world.cc
|
||||
nodes/node_shader_particle_info.cc
|
||||
nodes/node_shader_rgb.cc
|
||||
nodes/node_shader_script.cc
|
||||
nodes/node_shader_sepcombHSV.cc
|
||||
nodes/node_shader_sepcombRGB.cc
|
||||
nodes/node_shader_sepcombXYZ.cc
|
||||
nodes/node_shader_shaderToRgb.cc
|
||||
nodes/node_shader_squeeze.cc
|
||||
nodes/node_shader_subsurface_scattering.cc
|
||||
nodes/node_shader_tangent.cc
|
||||
nodes/node_shader_tex_brick.cc
|
||||
nodes/node_shader_tex_checker.cc
|
||||
nodes/node_shader_tex_coord.cc
|
||||
nodes/node_shader_tex_environment.cc
|
||||
nodes/node_shader_tex_gradient.cc
|
||||
nodes/node_shader_tex_image.cc
|
||||
nodes/node_shader_tex_magic.cc
|
||||
nodes/node_shader_tex_musgrave.cc
|
||||
nodes/node_shader_tex_noise.cc
|
||||
nodes/node_shader_tex_pointdensity.cc
|
||||
nodes/node_shader_tex_sky.cc
|
||||
nodes/node_shader_tex_voronoi.cc
|
||||
nodes/node_shader_tex_wave.cc
|
||||
nodes/node_shader_tex_white_noise.cc
|
||||
nodes/node_shader_uvAlongStroke.cc
|
||||
nodes/node_shader_uvmap.cc
|
||||
nodes/node_shader_valToRgb.cc
|
||||
nodes/node_shader_value.cc
|
||||
nodes/node_shader_vectTransform.cc
|
||||
nodes/node_shader_vector_displacement.cc
|
||||
nodes/node_shader_vector_math.cc
|
||||
nodes/node_shader_vector_rotate.cc
|
||||
nodes/node_shader_vertex_color.cc
|
||||
nodes/node_shader_volume_absorption.cc
|
||||
nodes/node_shader_volume_info.cc
|
||||
nodes/node_shader_volume_principled.cc
|
||||
nodes/node_shader_volume_scatter.cc
|
||||
nodes/node_shader_wavelength.cc
|
||||
nodes/node_shader_wireframe.cc
|
||||
|
||||
node_shader_tree.cc
|
||||
node_shader_util.cc
|
||||
)
|
||||
|
||||
set(LIB
|
||||
bf_functions
|
||||
bf_intern_sky
|
||||
)
|
||||
|
||||
if(WITH_PYTHON)
|
||||
list(APPEND INC
|
||||
../../python
|
||||
)
|
||||
list(APPEND INC_SYS
|
||||
${PYTHON_INCLUDE_DIRS}
|
||||
)
|
||||
list(APPEND LIB
|
||||
${PYTHON_LINKFLAGS}
|
||||
${PYTHON_LIBRARIES}
|
||||
)
|
||||
add_definitions(-DWITH_PYTHON)
|
||||
endif()
|
||||
|
||||
if(WITH_INTERNATIONAL)
|
||||
add_definitions(-DWITH_INTERNATIONAL)
|
||||
endif()
|
||||
|
||||
if(WITH_FREESTYLE)
|
||||
add_definitions(-DWITH_FREESTYLE)
|
||||
endif()
|
||||
|
||||
blender_add_lib(bf_nodes_shader "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
|
||||
|
||||
if(WITH_UNITY_BUILD)
|
||||
set_target_properties(bf_nodes_shader PROPERTIES UNITY_BUILD ON)
|
||||
set_target_properties(bf_nodes_shader PROPERTIES UNITY_BUILD_BATCH_SIZE 10)
|
||||
endif()
|
||||
Reference in New Issue
Block a user