blender/intern/cycles/kernel/device/cpu/CMakeLists.txt
Nikita Sirgienko bf9bf7305c Cycles: oneAPI: Introduce non-default software texturing path
Some Intel devices, such as the Intel(R) Data Center GPU Max 1550, do
not support hardware image sampling. Since [2bab4ae370](2bab4ae370)
made the GPU hardware sampler mandatory, these devices are no
longer supported.

This change adds a non-default software texturing path, so users
with such hardware can run Cycles on it using their own build,
their own build, configured with
WITH_CYCLES_ONEAPI_SOFTWARE_TEXTURING=ON.

Pull Request: https://projects.blender.org/blender/blender/pulls/164768
2026-10-07 17:11:00 +02:00

69 lines
1.5 KiB
CMake

# SPDX-FileCopyrightText: 2011-2026 Blender Foundation
#
# SPDX-License-Identifier: Apache-2.0
set(INC
../../..
)
set(INC_SYS
)
set(SRC_KERNEL_DEVICE_CPU
globals.cpp
kernel.cpp
kernel_avx2.cpp
)
set(SRC_KERNEL_DEVICE_CPU_HEADERS
bvh.h
compat.h
globals.h
kernel.h
kernel_arch.h
kernel_arch_impl.h
)
set(LIB
PUBLIC cycles_util
)
# -----------------------------------------------------------------------------
# CPU module.
include_directories(${INC})
include_directories(SYSTEM ${INC_SYS})
if(DEFINED CYCLES_KERNEL_FLAGS)
set_source_files_properties(kernel.cpp PROPERTIES COMPILE_FLAGS "${CYCLES_KERNEL_FLAGS}")
endif()
if(CXX_HAS_AVX2 AND CXX_HAS_F16C)
set_source_files_properties(kernel_avx2.cpp PROPERTIES COMPILE_FLAGS "${CYCLES_AVX2_F16C_FLAGS}")
endif()
# Warnings to avoid using doubles in the kernel.
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER_ID MATCHES "Clang")
add_check_cxx_compiler_flags(
CMAKE_CXX_FLAGS
_has_cxxflag_float_conversion "-Werror=float-conversion"
_has_cxxflag_double_promotion "-Werror=double-promotion"
)
unset(_has_cxxflag_float_conversion)
unset(_has_cxxflag_double_promotion)
endif()
if(WITH_CYCLES_OSL)
list(APPEND LIB
PUBLIC cycles_kernel_osl
)
endif()
cycles_add_library(cycles_kernel_cpu "${LIB}"
${SRC_KERNEL_DEVICE_CPU}
${SRC_KERNEL_DEVICE_CPU_HEADERS}
)
cycles_set_solution_folder(cycles_kernel_cpu)
source_group("device\\cpu" FILES ${SRC_KERNEL_DEVICE_CPU} ${SRC_KERNEL_DEVICE_CPU_HEADERS})