Isolate frame writing task so that multithreaded image operations don't cause the thread to start writing another frame. If that happens we may reach the MAX_SCHEDULED_FRAMES limit, and cause the render thread and writing threads to deadlock waiting for each other. Additionally, don't set task priority to low because this may cause the task scheduler to be slow in scheduling the write and color management tasks.
73 lines
1.2 KiB
CMake
73 lines
1.2 KiB
CMake
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
set(INC
|
|
../include
|
|
../../blenkernel
|
|
../../blenlib
|
|
../../blenloader
|
|
../../blentranslation
|
|
../../bmesh
|
|
../../depsgraph
|
|
../../draw
|
|
../../gpu
|
|
../../imbuf
|
|
../../makesdna
|
|
../../makesrna
|
|
../../nodes
|
|
../../render
|
|
../../sequencer
|
|
../../windowmanager
|
|
../../../../intern/glew-mx
|
|
../../../../intern/guardedalloc
|
|
# RNA_prototypes.h
|
|
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
|
)
|
|
|
|
set(SRC
|
|
render_internal.cc
|
|
render_opengl.cc
|
|
render_ops.cc
|
|
render_preview.cc
|
|
render_shading.cc
|
|
render_update.cc
|
|
render_view.cc
|
|
|
|
render_intern.hh
|
|
)
|
|
|
|
set(LIB
|
|
)
|
|
|
|
if(WITH_HEADLESS)
|
|
add_definitions(-DWITH_HEADLESS)
|
|
else()
|
|
list(APPEND LIB
|
|
bf_editor_datafiles
|
|
)
|
|
endif()
|
|
|
|
|
|
if(WITH_FREESTYLE)
|
|
list(APPEND INC
|
|
../../freestyle
|
|
)
|
|
add_definitions(-DWITH_FREESTYLE)
|
|
endif()
|
|
|
|
if(WITH_TBB)
|
|
list(APPEND INC_SYS
|
|
${TBB_INCLUDE_DIRS}
|
|
)
|
|
add_definitions(-DWITH_TBB)
|
|
if(WIN32)
|
|
# TBB includes Windows.h which will define min/max macros
|
|
# that will collide with the stl versions.
|
|
add_definitions(-DNOMINMAX)
|
|
endif()
|
|
endif()
|
|
|
|
blender_add_lib(bf_editor_render "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
|
|
|
|
# RNA_prototypes.h
|
|
add_dependencies(bf_editor_render bf_rna)
|