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
2021-12-07Build: don't look for CUDA toolkit if not using Cycles CUDA deviceBrecht Van Lommel
2021-12-07Build: remove Cycles CUDA/HIP/OPTIX build options on macOSBrecht Van Lommel
So those device types are not listed in the preferences. Metal will be added instead as the only option.
2021-11-26CMake mini-rewrite: Sync code check with BKE_blender_version_is_alphaDalai Felinto
Reproduce the logic we already do in C (BKE_blender_version_is_alpha) and the CMake file. Otherwise it can get out of sync if we add/rename the non-alpha release cycles. No functional change. Differential Revision: https://developer.blender.org/D13379
2021-11-25Merge branch 'blender-v3.0-release'Brecht Van Lommel
2021-11-25Fix build error with experimental features after recent release cycle bumpBrecht Van Lommel
Hair, pointcloud and simulation datablock types should be disabled in the beta cycles already like other experimental features.
2021-11-24CMake: add WITH_UNITY_BUILD option to improve compile timesJacques Lucke
Unity builds are only used in the `bf_nodes_geometry` module for now. This module has been prepared to support unity builds already. Usually, there is a 2-4x speedup when building `bf_nodes_geometry` compared to without unity builds (e.g. 145s to 55s). For more information about how unity builds work and how they help with compile times, see D13341. Differential Revision: https://developer.blender.org/D13341
2021-11-19Cleanup: fix typos in comments and docsBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D13264
2021-11-17Cycles: add build option to enable a debugging feature for MISSebastian Herholz
This patch adds a CMake option "WITH_CYCLES_DEBUG" which builds cycles with a feature that allows debugging/selecting the direct-light sampling strategy. The same option may later be used to add other debugging features that could affect performance in release builds. The three options are: * Forward path tracing (e.g., via BSDF or phase function) * Next-event estimation * Multiple importance sampling combination of the previous two methods Such a feature is useful for debugging light different sampling, evaluation, and pdf methods (e.g., for light sources and BSDFs). Differential Revision: https://developer.blender.org/D13152
2021-11-10Cycles: enable HIP device and binaries on WindowsBrecht Van Lommel
We've now done testing to confirm this works with RDNA and RDNA2 AMD GPUs on Windows. The AMD driver needed for this will soon be released publicly.
2021-11-04Cleanup: capitalize ON/OFF with CMakeCampbell Barton
2021-10-28Fix install paths for blender thumbnailer when not building a portable installSebastian Parborg
When doing a non portable build of blender, the executable blender-thumbnailer would be installed in two locations: /usr/bin/ /usr/ While cleaning up, also make the blender thumbnailer dll optional on windows to bring the logic in line with what it is on linux and mac. Reviewed By: Campbell Barton, Ray molenkamp Differential Revision: http://developer.blender.org/D13014
2021-10-26CMake: expand instructions for accidental 'cmake' run in source dirSybren A. Stüvel
Our CMake setup refuses to run from the source directory (i.e. Blender does not support in-source builds). Instead, it shows instructions on how to clean up after an accidental `cmake` invocation. These instructions missed one directory that should also be removed (`CMakeFiles`), so that's been added to the message now. No functional changes to Blender or the build.
2021-10-22Build: improve descriptions and organization of Cycles build optionsBrecht Van Lommel
2021-10-22Cycles: keep HIP device disabled until we have binariesBrecht Van Lommel
And clear communication about supported hardware. Ref T92397
2021-10-21Deps: Python, bundle zstandard packageSybren A. Stüvel
This package allows Python scripts to handle compressed blend files (see rB2ea66af742bc). This is for example needed by Blender Asset Tracer to send files to a Flamenco render farm. This change includes a new `WITH_PYTHON_INSTALL_ZSTANDARD` build-time option, to control whether to actually install the package. For this the already-existing approach for Requests was copied. Reviewed By: LazyDodo, mont29, brecht Differential Revision: https://developer.blender.org/D12777
2021-10-20HIP device code cleanup and fix for high VRAM usageSayak Biswas
This patch cleans up code for HIP device and makes it more consistent with the CUDA code. It also fixes the issue with high VRAM usage on AMD cards using HIP allowing better performance and usage on cards like 6600XT. Added a check in intern/cycles/kernel/bvh/bvh_util.h to prevent compiler error with hipcc Reviewed By: brecht, leesonw Maniphest Tasks: T92124 Differential Revision: https://developer.blender.org/D12834
2021-10-20CMake: add WITH_BLENDER_THUMBNAILER optionCampbell Barton
Make building the thumbnail extraction executable optional, disable on macOS as this was not linking, further, macOS doesn't use this for thumbnail extraction so it could be left disabled.
2021-10-05Cycles: improve detection of HIP compiler for buildbotBrecht Van Lommel
And fix various broken things in the HIP kernel compilation.
2021-09-28Cycles: add HIP device support for AMD GPUsBrian Savery
NOTE: this feature is not ready for user testing, and not yet enabled in daily builds. It is being merged now for easier collaboration on development. HIP is a heterogenous compute interface allowing C++ code to be executed on GPUs similar to CUDA. It is intended to bring back AMD GPU rendering support on Windows and Linux. https://github.com/ROCm-Developer-Tools/HIP. As of the time of writing, it should compile and run on Linux with existing HIP compilers and driver runtimes. Publicly available compilers and drivers for Windows will come later. See task T91571 for more details on the current status and work remaining to be done. Credits: Sayak Biswas (AMD) Arya Rafii (AMD) Brian Savery (AMD) Differential Revision: https://developer.blender.org/D12578
2021-09-21Cycles: merge of cycles-x branch, a major update to the rendererBrecht Van Lommel
This includes much improved GPU rendering performance, viewport interactivity, new shadow catcher, revamped sampling settings, subsurface scattering anisotropy, new GPU volume sampling, improved PMJ sampling pattern, and more. Some features have also been removed or changed, breaking backwards compatibility. Including the removal of the OpenCL backend, for which alternatives are under development. Release notes and code docs: https://wiki.blender.org/wiki/Reference/Release_Notes/3.0/Cycles https://wiki.blender.org/wiki/Source/Render/Cycles Credits: * Sergey Sharybin * Brecht Van Lommel * Patrick Mours (OptiX backend) * Christophe Hery (subsurface scattering anisotropy) * William Leeson (PMJ sampling pattern) * Alaska (various fixes and tweaks) * Thomas Dinges (various fixes) For the full commit history, see the cycles-x branch. This squashes together all the changes since intermediate changes would often fail building or tests. Ref T87839, T87837, T87836 Fixes T90734, T89353, T80267, T80267, T77185, T69800
2021-08-22Cleanup: fix comment about compiler support.Ankit Meel
Differential Revision: https://developer.blender.org/D12288
2021-08-21Clang: warn about C++20 designated initializersAnkit Meel
With the ongoing transition to C++ files, Windows build breaks often because of designated initializers. Now we have two compilers to catch the MSVC build error on. Reviewed By: #platform_macos, brecht, campbellbarton Differential Revision: https://developer.blender.org/D11940
2021-08-05Xcode: support cmake options for grouping in foldersGermano Cavalcante
The Xcode IDE can also benefit from the options: - WINDOWS_USE_VISUAL_STUDIO_SOURCE_FOLDERS - WINDOWS_USE_VISUAL_STUDIO_PROJECT_FOLDERS So add suport to these options and also renames them as they are no longer limited to just Windows and Visual Studio. Reviewed By: brecht, ankitm Differential Revision: https://developer.blender.org/D12132
2021-08-05DRW: New Select Debug EngineGermano Cavalcante
This is a simple engine used only to debug the texture of select ids. It is only used when the `WITH_DRAW_DEBUG` option is enabled and the debug value is 31. Reviewed By: fclem Differential Revision: https://developer.blender.org/D5490
2021-08-03macOS: Portable builds with dynamic libraries.Ankit Meel
For Blender.app: dropping libomp.dylib next to Blender executable is enough for it getting picked up since `@executable_path` is an rpath. For non-distributed binaries datatoc, makesdna, tests etc, code for copying libomp.dylib to build folder is removed and replaced by CMake's rpath option for *build* tree. For bpy.so, the post build rpath change has also been replaced by CMake rpath option for *install* tree. Since -id has been changed in D11748, remove the `install_name_tool -change ...` command. Any dylib can just be dropped at `MAC_BLENDER_TARGET_DYLIBS_DIR` hereafter. Appending dylib path to `CMAKE_BUILD_RPATH` will be needed for datatoc etc if linked against one (instead of copying the dylibs around). Reviewed By: #platform_macos, brecht Differential Revision: https://developer.blender.org/D11997
2021-08-02Revert "GHOST/X11: enable EGL"Brecht Van Lommel
This is causing issues for some users launching Blender, because EGL indirectly requires GLVND, which is not installed by default on e.g. Ubuntu. This reverts commit 0b18a618b88b22663e05eca0f4d976875710e7cc. Fixes T90374 Ref D12034
2021-07-29GHOST/X11: enable EGLChristian Rauch
This will replace GLX with EGL for X11. GLEW does not support GLX and EGL at the same time. Most distributions build GLEW with GLX support, so we have to use the externally provided GLEW and build with EGL support. This effectively sets WITH_SYSTEM_GLEW to OFF for all Linux configurations. Differential Revision: https://developer.blender.org/D12034
2021-07-28Cycles: remove WITH_CYCLES_DEBUG, add WITH_CYCLES_DEBUG_NANBrecht Van Lommel
WITH_CYCLES_DEBUG was used for rendering BVH debugging passes. But since we mainly use Embree an OptiX now, this information is no longer important. WITH_CYCLES_DEBUG_NAN will enable additional checks for NaNs and invalid values in the kernel, for Cycles developers. Previously these asserts where enabled in all debug builds, but this is too likely to crash Blender in scenes that render fine regardless of the NaNs. So this is behind a CMake option now. Fixes T90240
2021-07-26Revert "cmake: enable Wayland by default"Sybren A. Stüvel
This reverts commit a2ccd0e495d54240f785ee425a15ba1bd2537e5a. This change was part of the still-under-review patch D11489, which hasn't been accepted yet.
2021-07-24cmake: enable Wayland by defaultChristian Rauch
2021-07-15CMake: Have CMake Control the C++ version.Ray Molenkamp
We were manually setting the compiler flags for C++17 support for this previously. CMake can do this for us in a uniform way without having to worry about compiler specifics. Setting these flags manually somehow brought out some unwanted behaviour (CMake switching back to C++14) in the nightly CMake builds. Unsure if that's a CMake bug or planned new behaviour for future version, but best to play it safe. These flags are supported since CMake 3.1 so should not break anything. Reviewed by: Campbell Barton Differential Revision: https://developer.blender.org/D11891
2021-07-05macOS: support Japanese input for text buttonsYuki Hashimoto
Blender did not support to input East Asian characters (Chinese, Japanese, Korean) on macOS. This patch adds support for Japanese input, by implementing the appropriate processing for the NSTextInputClient protocol. Technical notes: * The conversion candidate window is drawn by the input method program calling `firstRectForCharacterRange`. * The string before confirmation (called `composite` in blender) is handled in the `setMarkedText` method called by the input method program. * The string after confirmation (called `result` in the blender) is processed in the `insertText` method called by the input method program. Ref T51283 Differential Revision: https://developer.blender.org/D11695
2021-06-22CMake: Improve python version mismatch errorRay Molenkamp
When CMake detects and incompatible Python version it errors out with an error saying at-least python 3.9 is required, but doesn't mention the version it detected. This makes troubleshooting the problem harder than it needs to be. This diff changes the error message to include the python version CMake detected. Differential Revision: https://developer.blender.org/D11666 Reviewed By: Ray Molenkamp
2021-04-23macOS: Fix unknown -Wsuggest-override warningAnkit Meel
Added in rB7cef01b090c4c2d2703274edb91886ae37d3ce82 and rB87bfa2b207b90b5e34ebd835a23c2a82afbed878 Reviewed by: jbakker, #platform_macos Differential Revision: https://developer.blender.org/D11012
2021-03-31Cleanup/CMake: warning to status to reduce noiseAnkit Meel
Correction in e5f0d176d4cfa020bfb4de78086007dcfd02e8f9
2021-03-30CMake: issue warnings when changing optionsAnkit Meel
Only done in top level CMakeLists, and platform_apple. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10343
2021-03-30MSVC: ASAN support for VS 16.9Ray Molenkamp
This enables ASAN support when used with VS 16.9 enable as usual in cmake with the WITH_COMPILER_ASAN option, or when using make.bat just tag on `asan' to the invocation, ie: `make lite 2019 asan` MSVC: Asan support for 16.9 This enables ASAN support when used with VS 16.9 enable as usual in cmake with the WITH_COMPILER_ASAN option, or when using make.bat just tag on `asan' to the invocation, ie: `make lite 2019 asan` Differential Revision: https://developer.blender.org/D7794 Reviewed By: brecht, sergey
2021-03-26macOS/bpy: add support for OpenMPAnkit Meel
Changes made: * Add OpenMP linker flags. * Copy the libomp.dylib to `2.93/lib/libomp.dylib`. * Change the `LC_LOAD_DYLIB` item such that the lib is found at `bpy.so/../../Resources/2.93/lib/libomp.dylib`. Installation is done by D10664. Reviewed By: #platform_macos, brecht Maniphest Tasks: T86579 Differential Revision: https://developer.blender.org/D10657
2021-03-23Cleanup/CMake: Fix comment, sort order of options.Ankit Meel
2021-03-17Audaspace: add support for CoreAudio on macOSJörg Müller
This adds CoreAudio as audio backend on macOS. CoreAudio is the standard audio API on macOS. Ref T86590
2021-03-17Audaspace: add support for WASAPI on WindowsJörg Müller
This adds WASAPI as audio backend on Windows. WASAPI is the modern standard audio API on Windows introduced with Windows Vista. Ref T86590
2021-03-17Audaspace: add support for PulseAudio on LinuxJörg Müller
This adds PulseAudio as audio backend on Linux. PulseAudio is the main audio engine used on most, if not all, Linux distributions today. Ref T86590
2021-03-17Audaspace: porting minor improvements from upstreamJörg Müller
- NullDevice is now called None - Automatic choice of best available device. - Minor formatting, documentation and cmake fixes.
2021-03-01CMake: reduce Neon related output on Intel platformsBrecht Van Lommel
* Only try to find sse2neon if Neon detected * Only run Neon support test once
2021-02-25Fix macOS SSE support not detected correctly after recent changesBrecht Van Lommel
Due to moving the code the test binary was incorrectly compiled with OpenMP flags. Move setting of the OpenMP flags to the appropriate place.
2021-02-24Cmake/deps: Update OSL to 1.11.10.0Ray Molenkamp
This bumps OSL to 1.11.10.0. OSL Has a new build time dependency: Clang, and more importantly it expects clang and llvm to share a library folder, which it previously for us did not. This patch changes: -OSL Update to 1.11.10.0 -refactor the llvm/clang/clang-tools-extra builds into the llvm build using the llvm-project tarball for building that has all of the subprojects in it. -update ispc/openmp builds since clang no longer its own dependency and they have to depend on the llvm build now. -Update the windows builder to use the 64 bit host tools since it ran out of ram linking clang -Since OSL now needs clang to link successfully a findclang.cmake has been provided for linux/OSX Differential Revision: https://developer.blender.org/D10212 Reviewed By: brecht, sebbas, sybren
2021-02-17BLI: use sse2neon to emulate SSE instructions with Arm NeonBrecht Van Lommel
* WITH_CPU_SSE was renamed to WITH_CPU_SIMD, and now covers both SSE and Neon. * For macOS sse2neon.h is included as part of the precompiled libraries. * For Linux it is enabled if the sse2neon.h header file is detected. However this library does not have official releases and is not shipped with any Linux distribution, so manual installation and configuration is required to get this working. Ref D8237, T78710
2021-02-12OpenColorIO: upgrade to version 2.0.0Brecht Van Lommel
Ref T84819 Build System ============ This is an API breaking new version, and the updated code only builds with OpenColorIO 2.0 and later. Adding backwards compatibility was too complicated. * Tinyxml was replaced with Expat, adding a new dependency. * Yaml-cpp is now built as a dependency on Unix, as was already done on Windows. * Removed currently unused LCMS code. * Pystring remains built as part of OCIO itself, since it has no good build system. * Linux and macOS check for the OpenColorIO verison, and disable it if too old. Ref D10270 Processors and Transforms ========================= CPU processors now need to be created to do CPU processing. These are cached internally, but the cache lookup is not fast enough to execute per pixel or texture sample, so for performance these are now also exposed in the C API. The C API for transforms will no longer be needed afer all changes, so remove it to simplify the API and fallback implementation. Ref D10271 Display Transforms ================== Needs a bit more manual work constructing the transform. LegacyViewingPipeline could also have been used, but isn't really any simpler and since it's legacy we better not rely on it. We moved more logic into the opencolorio module, to simplify the API. There is no need to wrap a dozen functions just to be able to do this in C rather than C++. It's also tightly coupled to the GPU shader logic, and so should be in the same module. Ref D10271 GPU Display Shader ================== To avoid baking exposure and gamma into the GLSL shader and requiring slow recompiles when tweaking, we manually apply them in the shader. This leads to some logic duplicaton between the CPU and GPU display processor, but it seems unavoidable. Caching was also changed. Previously this was done both on the imbuf and opencolorio module levels. Now it's all done in the opencolorio module by simply matching color space names. We no longer use cacheIDs from OpenColorIO since computing them is expensive, and they are unlikely to match now that more is baked into the shader code. Shaders can now use multiple 2D textures, 3D textures and uniforms, rather than a single 3D texture. So allocating and binding those adds some code. Color space conversions for blending with overlays is now hardcoded in the shader. This was using harcoded numbers anyway, if this every becomes a general OpenColorIO transform it can be changed, but for now there is no point to add code complexity. Ref D10273 CIE XYZ ======= We need standard CIE XYZ values for rendering effects like blackbody emission. The relation to the scene linear role is based on OpenColorIO configuration. In OpenColorIO 2.0 configs roles can no longer have the same name as color spaces, which means our XYZ role and colorspace in the configuration give an error. Instead use the new standard aces_interchange role, which relates scene linear to a known scene referred color space. Compatibility with the old XYZ role is preserved, if the configuration file has no conflicting names. Also includes a non-functional change to the configuraton file to use an XYZ-to-ACES matrix instead of REC709-to-ACES, makes debugging a little easier since the matrix is the same one we have in the code now and that is also found easily in the ACES specs. Ref D10274
2021-02-11CMake: update python to 3.9.1Campbell Barton
Default to Python version 3.9. Reviewed By: LazyDodo, sybren, sebbas Ref D10380
2021-02-11Cleanup: remove version check for unsupported cmake versionCampbell Barton