mirror of
https://github.com/blender/blender
synced 2026-10-25 03:07:01 +03:00
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
69 lines
1.5 KiB
CMake
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})
|