Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-08Build: reference bundled wayland and libdecor headersCampbell Barton
When using pre-compiled libs, reference the bundled wayland headers, needed so the headers from the bundled wayland-scanner are compatible. Part of D16091.
2022-10-07Cycles: link oneAPI backend with debug version of sycl when in DebugXavier Hallade
It fixes SYCL runtime issues in Debug builds that were due to mixing Release and Debug MSVC runtimes. This commit also removes specific handling of dpcpp compiler executable to simplify the CMake implementation. Using it like clang++ works and clang++ executable is also available from Intel oneAPI DPC++ compiler in case it doesn't.
2022-10-07Cycles: use direct linking for oneAPI backendXavier Hallade
This is a minimal set of changes, allowing a lot of cleanup that can happen afterward as it allows sycl method and objects to be used outside of kernel.cpp. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D15397
2022-10-04Build: integrate OpenPGL into platform files like other librariesBrecht Van Lommel
To avoid issues with install_deps. If we more generally switch to using CMake configs then perhaps this code can be deduplicated again or at least simplified.
2022-09-29Cleanup: cmake indentationCampbell Barton
2022-09-28Fix macOS cmake warning about missing OpenAL, after Python module changesBrecht Van Lommel
2022-09-27Cycles: add Path Guiding on CPU through Intel OpenPGLSebastian Herhoz
This adds path guiding features into Cycles by integrating Intel's Open Path Guiding Library. It can be enabled in the Sampling > Path Guiding panel in the render properties. This feature helps reduce noise in scenes where finding a path to light is difficult for regular path tracing. The current implementation supports guiding directional sampling decisions on surfaces, when the material contains a least one diffuse component, and in volumes with isotropic and anisotropic Henyey-Greenstein phase functions. On surfaces, the guided sampling decision is proportional to the product of the incident radiance and the normal-oriented cosine lobe and in volumes it is proportional to the product of the incident radiance and the phase function. The incident radiance field of a scene is learned and updated during rendering after each per-frame rendering iteration/progression. At the moment, path guiding is only supported by the CPU backend. Support for GPU backends will be added in future versions of OpenPGL. Ref T92571 Differential Revision: https://developer.blender.org/D15286
2022-09-27Build: add wayland to deps buildCampbell Barton
This is needed to ensure and up to date "wayland-scanner" is used, as versions before 1.20.0 generate headers incompatible with dynamic linking (WITH_GHOST_WAYLAND_DYNLOAD). As the centos7 version of wayland is 1.15 so make this part of Blender's dependencies on Linux. We intend to enable Wayland for Blender 3.4 release, this is needed for the build-bot. Reviewed By: brecht Ref D16074
2022-09-27Revert "Cleanup: remove redundant WITH_GHOST_WAYLAND check"Campbell Barton
This reverts commit 7fa7c7ceda3df8d522b8f5a407a697987669033c. The check was not redundant, it accounted for wayland not being found.
2022-09-27Cleanup: remove redundant WITH_GHOST_WAYLAND checkCampbell Barton
2022-09-27Cleanup: remove unnecessary argument to else() in CMakeCampbell Barton
We have moved away from duplicating arguments in else() and endif() commands.
2022-09-27Cleanup: remove workarounds and version checks for unsupported compilersCampbell Barton
Match minimum supported versions from the WIKI [0] by raising them to: - GCC 9.3.1 - CLANG 8.0 - MVCS 2019 (16.9.16 / 1928) Details: - Add CMake checks that ensure supported compiler versions early on. - Previously GCC per-processor version checks served to exclude `__clang__`, in some cases this has been replaced by explicitly excluding `__clang__`. This was needed as CLANG treated some of these flags differently to GCC, causing the build to fail. - Remove USE_APPLE_OMP_FIX GCC-4.2 OpenMP workaround. - Remove linking error workaround for old MSVC versions. [0]: https://wiki.blender.org/wiki/Building_Blender Reviewed by: brecht, LazyDodo Ref D16068
2022-09-23Cleanup: use lowercase function calls & macros in for CMakeCampbell Barton
This is already the case for most CMake usage. Although some find modules are an exception to this, as they were originally maintained externally they use some different conventions. Also corrected bad indentation in: intern/cycles/CMakeLists.txt
2022-09-20CMake: fail to build with unsupported versions of wayland-scannerCampbell Barton
When WITH_GHOST_WAYLAND_DYNLOAD is enabled.
2022-09-18Build: fix gtest build flags affecting actual libraryBrecht Van Lommel
Switch to target_ functions to avoid this.
2022-09-18Build: disable gtests entirely for Python moduleBrecht Van Lommel
To avoid test failure on Windows.
2022-09-15Python: script for packing bpy module as wheelBrecht Van Lommel
The buildbot will call this script to create a binary .whl file that can be easily installed through pip. This wheel will only work with the same Python version used for Blender. Other minimum system requirements are the same as regular Blender builds. Includes contributions by Campbell Barton. Differential Revision: https://developer.blender.org/D15957
2022-09-15Python: fix failing bpy build with full release config on WindowsBrecht Van Lommel
* Fix issue with different build and install paths. * Fix issue with oneAPI kernel build. Ref D15957
2022-09-15Python: fix failing tests when building bpy moduleBrecht Van Lommel
* Use Python executable from lib folder since it's not installed. * Make bpy module test work for portable install. * Disable gtests which don't work with different Python link flags and shared library locations. Ref D15957
2022-09-14CMake: warn when "bpy" installs into the site-packages from LIBDIRCampbell Barton
Using "../lib" as a target is unlikely to be useful, add a warning & suggest alternatives.
2022-09-13Fix broken Cycles Metal build after recent changesBrecht Van Lommel
It was unable to find the Metal framework, thanks to Alaska for tracking this down.
2022-09-13Fix compilation on Linux, glibc 2.34, and CentOS librariesSergey Sharybin
A continuation of previous fix for malloc hooks which got removed from the new glibc library. The pre-compiled jemalloc has definitions which interpose hooks in glibc leading to linking errors with multiple hook definitions. A simple fix is to skip doing the workaround when using jemalloc from pre-compiled libraries. This will likely be revisited in the future, but for now it is important to fix compilation errors for developers.
2022-09-13Cleanup: improve titles for CMake sections, line lengthCampbell Barton
Also use same convention for comments as (space after #).
2022-09-13CMake: omit WITH_INSTALL_PORTABLE from bpy_module.cmakeCampbell Barton
Since this was added, Linux libraries have been included in `../lib/`. This made `make bpy` on Linux install the `bpy` module into the bundled SVN libraries which isn't very useful. Now leave WITH_INSTALL_PORTABLE unset (defaulting to ON). Python developers may reference their systems Python and disable the option if they wish for a system-wide module installation.
2022-09-13CMake: omit WITH_INSTALL_PORTABLE from the 'lite' configurationCampbell Barton
As portable is already the default, setting it meant using the lite configuration would always reset the value if was intentionally changed. This was also inconsistent as other configurations left this unset.
2022-09-13Python: update defaults for "make bpy"Campbell Barton
This was a kind of "lite" target, disabling options such as FFMPEG and ALEMBIC which may be useful to read/write data from the Python module. Now fewer options have been changed. The following options are now disabled: - Audio support (to prevent audio devices being initialized on startup). - Input device support such as NDOF and IME as there is no GUI. - Blender thumbnail extraction as it's not installed as part of the Python module. Instead of attempting to predict what is useful to enable when building as a Python module, developers can mix combine options e.g. "make bpy release" or "make bpy lite".
2022-09-10Python: on macOS, stop requiring framework for building bpy moduleBrecht Van Lommel
Build against Python from precompiled libraries by default, instead of requiring framework from python.org package install. The resulting bpy module can still be used with any Python install of the same version. Use the same CMake find module as Linux. This simplifies code, and makes it possible to manually set PYTHON_* variables in CMake configuration. Remove WITH_PYTHON_FRAMEWORK option for regular Blender build, as this doesn't work well due to missing required Python packages. Advanced users can still set PYTHON_ROOT_DIR=/Library/Frameworks/Python.framework/Versions/3.10 for the same result.
2022-09-09Fix error extracting arguments from project_source_infoLoren Osborn
Output of make encounters path names that are single-quoted. This causes the path to be misinterpreted and fail validation. Resolves error in "make check_cppcheck" Ref D15801 (partially applied)
2022-08-29Build: automatically disable WITH_GHOST_WAYLAND if missing librariesBrecht Van Lommel
Same as other build options, don't make it a hard requirement to have Wayland libraries installed when it gets enabled by default. Also fixes wayland-protocols not being found on the buildbot.
2022-08-26CMake: disable IME for lite configurationCampbell Barton
2022-08-24Merge branch 'blender-v3.3-release'Brecht Van Lommel
2022-08-24Fix WITH_CYCLES_ONEAPI_BINARIES issues with make releaseBrecht Van Lommel
Fix typo in blender_release.cmake, and ensure that "make release" still works when ocloc is not available. While a fatal error is useful for debugging, the current convention is to disable features, especially in cases like this where there is no simple way to make the feature work. Differential Revision: https://developer.blender.org/D15774
2022-08-23Build: add system for shipping with dynamic libraries on Linux and macOSBrecht Van Lommel
PLATFORM_BUNDLED_LIBRARIES gathers shared libraries that will be installed to the lib/ folder. The Blender executable gets a relative rpath pointing to this folder as part of the install step. The build rpath is different and uses absolute paths, so that it works for executables like tests that are in different locations, and to support the case where the build and install folders are different. The system is already used for the OpenMP library on macOS. But on Linux it will only kick in once we start using shared libraries for dependencies. This also removes Mesa libraries from the old location, as these would cause Blender to start with software OpenGL. Ref T99618
2022-08-23check_cppcheck: skip files that hang, minor improvementsCampbell Barton
- Skip text_format_pov.c & text_format_pov_ini.c which caused cppcheck to hang. - Enable '--inconclusive' checks as they can be useful.
2022-08-22Enable oneAPI AoT binaries on WindowsSergey Sharybin
2022-08-22Enable oneAPI AoT binaries on WindowsSergey Sharybin
2022-08-22check_cppcheck: update 'glew' exclusion since it's removalCampbell Barton
2022-08-18Merge branch 'blender-v3.3-release'Sergey Sharybin
2022-08-18Enable oneAPI AoT kernels for Release on LinuxSergey Sharybin
Windows still needs some work on the buildbot side, so keep that disabled for the time being.
2022-08-18CMake: always unset CMAKE_REQUIRED_* variables after useCampbell Barton
Always unset these variables after use as they could interfere with other checks made afterwards.
2022-08-18CMake: support building with musl libclistout
Instead of using macros like GLIBC we can use the CMake build systems internal functions to check if some header or functions are present on the running system's libc. Add ./build_files/cmake/have_features.cmake to add checks for platform features which can be used to set defines for source files that require them. Reviewed By: campbellbarton Ref D15696
2022-08-15Cleanup OpenGL linking and related code after libepoxy mergeSebastian Parborg
This cleans up the OpenGL build flags and linking. It additionally also removes some dead code. One of these dead code paths is WITH_X11_ALPHA which actually never was active even with the build flag on. The call to use this was never called because the default initializer for GHOST was set to have it off per default. Nothing called this function with a boolean value to enable it. These cleanups are needed to support true headless OpenGL rendering. Without these cleanups libepoxy will fail to load the correct OpenGL Libraries as we have already linked them to the blender binary. Reviewed By: Brecht, Campbell, Jeroen Differential Revision: http://developer.blender.org/D15554
2022-08-15GPU: replace GLEW with libepoxyChristian Rauch
With libepoxy we can choose between EGL and GLX at runtime, as well as dynamically open EGL and GLX libraries without linking to them. This will make it possible to build with Wayland, EGL, GLVND support while still running on systems that only have X11, GLX and libGL. It also paves the way for headless rendering through EGL. libepoxy is a new library dependency, and is included in the precompiled libraries. GLEW is no longer a dependency, and WITH_SYSTEM_GLEW was removed. Includes contributions by Brecht Van Lommel, Ray Molenkamp, Campbell Barton and Sergey Sharybin. Ref T76428 Differential Revision: https://developer.blender.org/D15291
2022-08-09Compositor: Rename compositor build optionOmar Emara
Currently, the compositor can be disabled using the WITH_COMPOSITOR build option. Since, we intent to always build the realtime compositor, we need to make the distinction between both compositors clear. So this patch renames the option to WITH_COMPOSITOR_CPU. Additionally, the check for the option was moved inside the compositor modules' own CMake file in preparation for the realtime compositor code. Differential Revision: https://developer.blender.org/D15622 Reviewed By: Jeroen Bakker, Ray Molenkamp
2022-08-09Cleanup: CMake file indentationCampbell Barton
2022-08-02CMake: Check if freetype is compiled with brotli supportSebastian Parborg
Because of the recent changes to our core fonts, Freetype has to support Woff2 fonts or Blender will segfault on startup. This adds an explicit check for this to inform people compiling Blender about this requirement.
2022-07-29Build: hide all symbols except a few required ones on LinuxBrecht Van Lommel
Instead of specifying which symbols to hide, we hide all and make a few visible. Some users may be relying on calling internal Blender functions, but Windows is already hiding all of them and this is just not supported. Fixes T99900: crash with some third-party Python libraries since OneAPI Ref T76442 Differential Revision: https://developer.blender.org/D14971
2022-07-26deps: FFmpeg vpx/aom-av1 updatesRay Molenkamp
This is a refresh of our current FFmpeg 5.0.0 (unchanged) version with the following changes: * libvpx all platforms: enable SSE3/4/AVX/AVX2 instruction sets. libvpx has a proper CPUID check in place and will not call the faster kernels unless it is sure the CPU supports it. So we can safely enable this, this partially resolves T95743 (completely on Linux and macOS). * libvpx Windows - threading was disabled due to a shared dependency on libwinpthreads.dll which we prefer not to distribute. However when configure cannot find pthreads it will happily fall back on a win32 threads based emulation layer. This also resolves the final part of T95743. * libaom-av1 - new dependency required for D14920, this is a somewhat odd dependency, it's cmake based, but still needs the perl environment setup, so we have to setup the env and call cmake our selves for the configure, build and install commands. This dep has the same libwinpthreads issue as vpx on Windows, however since it's cmake based, it's easier to prevent cmake from detecting it. Differential Revision: https://developer.blender.org/D15399
2022-07-22Cycles: enable oneAPI in Linux release buildsXavier Hallade
0f50ae131f54d51f778424d4c9655128cafbbefc didn't do it reliably since it was deactivated explicitly a bit above.
2022-07-08Cycles: enable oneAPI in Linux release buildsXavier Hallade
with a very high min-driver version requirement, placeholder until JIT CentOS runtime compilation issue gets fixed in a defined version. min-driver version check can be worked around by setting CYCLES_ONEAPI_ALL_DEVICES environment variable.