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-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-23Build Environment/macOS/Python: link against zlib staticallyAnkit Meel
rBc70eb30240f8b5d5a8f2ac509f0eb585936142b5 added patch to use static zlib on Linux. But also added flags to use the zlib in LIBDIR for Python on macOS. That causes some shared libraries (binascii for one) to link against libz.1.dylib which will not be there on users' systems. Reuse the said patch for macOS also to avoid rpath issues. Fix T85648. Reviewed By: #platform_macos, brecht Differential Revision: https://developer.blender.org/D10479
2021-02-15macOS: add Embree, OpenImageDenoise and sse2neon libraries for ARMBrecht Van Lommel
This required using a fork of Embree, newer LLVM version, unreleased ISPC version and sse2neon directly from Git. Hopefully over time all the required changes end up in official releases. For now we deviate from other platforms. Based on contributions by Apple and Stefan Werner. Ref D9527, D8237, T78710
2021-02-15CMake/Deps: upgrade USD 20.05 → 21.02Sybren A. Stüvel
USD version 21.02 includes two of the changes Blender used to patch in, which have now been removed from `usd.diff`. Unfortunately 21.02 introduces another issue where LZ4 symbols are accidentally exported, causing linker errors. Fortunately these symbols are only used for resting, so I added a patch hunk that simply removes their `extern "C"` declaration. The LZ4 linker issue has been reported upstream at https://github.com/PixarAnimationStudios/USD/issues/1447. Reviewed By: sebbas, mont29 Differential Revision: https://developer.blender.org/D10367
2021-02-15CMake/Deps: OpenVDB 8.0.1Ray molenkamp
Straight forward version bump, some of the variables to detect a static OpenEXR changed and the folder structure seemingly changed a little requiring updates to the diff Reviewed By: sebbas, sybren Differential Revision: https://developer.blender.org/D10340
2021-02-15CMake/Deps: TBB 2020U2Ray molenkamp
Straight forward version bump. 2020U2 is significantly louder in the deprecated header usage warning department, we should probably see if we need to act on this: P1949 Differential Revision: https://developer.blender.org/D10359
2021-02-13Build: fix macOS minimum version link warning with pystringBrecht Van Lommel
Patch OpenColorIO again to pass along build flags, and remove outdated patches which were no longer being used.
2021-02-10cmake/deps: update Python to 3.9.1Ray Molenkamp
The following packages also have received updates: - IDNA 2.10 - CHARDET 4.0.0 - URLLIB3 1.26.3 - CERTIFI 2020.12.5 - REQUESTS 2.25.1 - NUMPY 1.19.5 numpy has gained a hard dependency on cython: - CYTHON 0.29.21 Notes: - This only updates the build environment files, once these are built, Blender can default to Python 3.9. - The 'm' suffix for Python binaries/libs has been removed. - The macOS patch in Python 3.7 is has been removed. Reviewed By: sybren, campbellbarton, sebbas Ref D10257
2021-02-01CMake/Windows/macOS: Add LibharuAnkit Meel
Decision: https://lists.blender.org/pipermail/bf-committers/2020-December/050836.html Adds CMake dependency builder support. Tested on macOS and Windows (Thanks @LazyDodo). Reviewed By: #platform_macos, LazyDodo, sebbas Maniphest Task: T84836 Differential Revision: https://developer.blender.org/D9928
2020-11-26macOS: Patch OpenImageIO's ustring for ARM.Stefan Werner
OpenImageIO's ustring makes assumptions about the interals of std::string which aren't true on macOS/ARM. A patch for OpenImageIO addresses this for macOS/ARM builds only, at the expense of potentially duplicated allocations of strings.
2020-10-29Simplify and enable NanoVDB dependency installationPatrick Mours
Changes NanoVDB to be a standalone dependency that is independent of the OpenVDB one. It works by downloading the "feature/nanovdb" branch of OpenVDB, but using the NanoVDB CMake in the "nanovdb" subdirectory. Since it is header-only, only the install target is used. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9383
2020-10-05Cycles: Add NanoVDB support for rendering volumesPatrick Mours
NanoVDB is a platform-independent sparse volume data structure that makes it possible to use OpenVDB volumes on the GPU. This patch uses it for volume rendering in Cycles, replacing the previous usage of dense 3D textures. Since it has a big impact on memory usage and performance and changes the OpenVDB branch used for the rest of Blender as well, this is not enabled by default yet, which will happen only after 2.82 was branched off. To enable it, build both dependencies and Blender itself with the "WITH_NANOVDB" CMake option. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8794
2020-09-18Fix T79929: crashes with Cycles denoising on older MacsBrecht Van Lommel
This was a bug in OpenImageDenoise, upgrade to latest 1.2.3 which has the fix. This in turn required a newer ispc version. Differential Revision: https://developer.blender.org/D8892
2020-09-15Deps: Add potrace as a new library dependencyRay Molenkamp
For work the GP team plans to land soon (T79877) potrace was taken on as an additional optional dependency. This diff adds building the library to the deps builder and takes care of the integration into the build-system with the `WITH_POTRACE` cmake switch. Differential Revision: https://developer.blender.org/D8662 Reviewed by: brecht, sergey
2020-09-01USD: remove library initialisation hackSybren A. Stüvel
Remove the hack for library initialisation; this is no longer necessary as the required information can be passed to the USD library after its static initialisers have run. This new approach is compatible with both the patched and original USD library. This means that platform maintainers don't need to rebuild the USD library until the next upgrade. Manifest Task: https://developer.blender.org/T80320
2020-08-31Remove patch for HDF5 librarySybren A. Stüvel
Delete `hdf5.diff`, because it's no longer used. Since Blender 2.90 the optional support for HDF5 has been dropped, but this file accidentally wasn't deleted. See 0102b9d47edf and 0c3843622726. No functional changes.
2020-08-13Deps_builder: Update openvdb to a dynamic libraryRay Molenkamp
This patch changes openvdb from a static to a dynamic library. this is in preparation for enabling pyopenvdb at some point in the future. Differential Revision: https://developer.blender.org/D8282 Reviewed by: brecht
2020-08-12deps_builder: Optionally build boost::pythonRay Molenkamp
This this adds the option of building boost::python in the libs builder, in preparation for future dependencies that require it (ie pyopenvdb) disabled by default, can be enabled with the `WITH_BOOST_PYTHON` cmake option. Differential Revision: https://developer.blender.org/D8212 Reviewed by: brecht
2020-07-31Deps builder: Add support for building GMPRay Molenkamp
Required for the new boolean code, disabled by default until all platforms have landed the libs and the boolean code actually lands in master. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8384
2020-07-16macOS: Support arm64 architecture.Stefan Werner
Enabling all `make deps` dependencies with the exception of Embree and OIDN. After that, Blender can be compiled on an Apple Silicon Mac just like on any Intel based Mac. There are still compiler warnings that need to be investigated and there are probably a couple of bug still to be discovered and to be fixed. Most patches to the dependencies are simple and are about disabling SSE and setting the proper architecture to compiile for. Notable exception is Python, where I back ported a yet to be accepted PR for upstream Python: https://github.com/python/cpython/pull/21249 Cross compiling or buliding a Universal Binary is not supported yet. The minimum macOS target version for x86_64 remains at 10.13, the target for arm64 is 11.00. Differential Revision: https://developer.blender.org/D8236
2020-07-09Make deps: Fix compilation error on CentOSSergey Sharybin
There were two issues. First is related on ISPC's CMake configuration forcing C and C++ compilers to be clang and clang++. This goes against of desired behavior when we use our own compiled clang compilers. The second issue was related on linker failure: CLang libraries are linked statically, and they need some of C++ 11 STL symbols which are coming from libstdc++. Differential Revision: https://developer.blender.org/D8258
2020-07-08Build: fix stack linker warning with ffmpeg on macOSSergey Sharybin
The ff_cfhd_init_vlcs() function was using a lot of stack space, which made linker on macOS unhappy. Using heap allocation allows to silence the warning without causing other side-effects. Kept the patch enabled for all platforms to avoid difference in behavior and performance on different platforms, which could make certain types of investigation very tricky. Differential Revision: https://developer.blender.org/D8248
2020-07-07Make deps: Compile own version of nasm for AppleSergey Sharybin
The upstream version of nasm does not put version information to the generated object files, which makes linker to show the following warning: building for macOS, but linking in object file Using own patched version of nasm which puts required information to the object file, making linker happy. The plan is to either streamline the patch and provide it to the upstream, or, it that takes too long, get an independent fix from the upstream.
2020-07-07Make deps: Fixes for macOS platformSergey Sharybin
Set of fixes which had to be made in order to have dependencies built on own laptop: - Require bison as a dependent software. It is required by ISPC. On macOS it is required to be installed via Homebrew. This is because Bison from Xcode toolchain is too old. - Made sure Boost is compiled using clang. Without this gcc was used, and some unsupported command line argument was passed to it. - Modify OGG in a way which does in fact pull fixed sized types. They are defined in stdint.h. Without this fix FFmpeg will not detect presence of OGG because the test program fails to compile. - Force disable zstd compression and make wepb optional for the TIFF library. Without this TIFF might pick up development libraries from Homebrew. Differential Revision: https://developer.blender.org/D8221
2020-06-25Build: remove unused lapack/hidapi/mingw32 build infrastructureBrecht Van Lommel
Ref T76184
2020-06-25Build: upgrade OpenImageDenoise to 1.2.1Ray Molenkamp
This requires ISPC for building OpenImageDenoise, so that is now added as a dependency as well. Blender itself does not need ISPC for building so it is not included as part of the precompiled libraries. Differential Revision: https://developer.blender.org/D7641
2020-06-19USD: Upgrade library 20.02 → 20.05Sybren A. Stüvel
The Blender USD code didn't have to change for this upgrade. Pixar's USD did include a change that we had in the patch, so that's been removed from our patch now. Some of the USD code that we patched changed as well.
2020-06-14deps/windows/embree: Prevent exports leaking out of blender binaryRay Molenkamp
embree marks a few of its functions with a dll_export macro forcibly exporting these symbols from whatever binary links them. Given we link embree statically and we do not want these exports in the blender binary, the macro needs to be a no-op.
2020-06-12USD: Library upgrade 19.11 → 20.02Sybren A. Stüvel
This upgrade required a few changes: - Some parts of our patch are no longer necessary, as the USD library now includes those changes. - The rest of the patch needed adjustment as the `pxr/base/lib/*` directories in USD's source code have moved to `pxr/base/*`. - Updated library names on Windows -- thanks @LazyDodo. Note that this does not enable the USD Python API for inclusion in Blender. It just aims at being an as-simple-as-possible version upgrade of the USD library.
2020-05-31Deps: Update OIIO + ImageLibs + OSL + HelpersRay Molenkamp
This is the cluster of OIIO and friends , since they are all kinda tangled best to deal with this as a single unit OIIO 2.1.15.0 png 1.6.37 jpeg 2.0.4 opencolorio 1.1.1 tiff 4.1.0 OSL 1.10.10 pugixml 1.10 openjpeg 2.3.1 Differential Revision: https://developer.blender.org/D7727 Reviewed by: brecht
2020-05-25Deps: ffmpeg 4.2.3 + codecs updateRay Molenkamp
This diff updates: FFmpeg : 4.3.2 libogg : 1.3.4 flac : 1.3.3 vpx : 1.8.2 xvid : 1.3.7 x264 : 33f9e1474613f59392be5ab6a7e7abf60fa63622 x264 seemingly has given up on even providing snapshots and has been updated to the latest hash available at this time. faad has been removed since ffmpeg has not supported it since 2010.
2020-05-23deps: OpenAL 1.20.1Ray Molenkamp
2020-05-09deps/windows: Fix wrong crt for libjpeg and pthreadsRay Molenkamp
The msvc linker had been warning about libcmt being dragged in for a bit, finally tracked the issue down to the deps of jpeg and pthreads which both ignored our cflags. this diff changes them both to use the dynamic crt rather than the static one so they'll be in line with all our other libraries.
2020-05-04Windows: Move tbb to being dynamic libraryRay Molenkamp
Static tbb has always been frowned upon [1] sofar it has worked for us but given our reliance on tbb is about to increase (D7475), I'd like to move the library to more supported configuration. Which means moving it to be a dynamic library The libs part of this change is in rBL62416 Reviewed By: Brecht Differential Revision: https://developer.blender.org/D7570
2020-02-24Fix make deps failing to build opencollada on Linux, due to line endingsBrecht Van Lommel
The OpenCOLLADA package contains a mix of files with unix and dos line endings. Now we mark the diff as a binary file so that the patch also contains a mix of line endings that matches the package.
2020-02-17Fix macOS LLVM precompiled link error with older Xcode versionsBrecht Van Lommel
2020-02-15Cleanup: CMake formattingCampbell Barton
2020-02-09Build_environment: Fix unwanted exports from oidn on windows.Ray Molenkamp
oidn puts dllexport on all its functions causing the blender binary to export these symbols. this patch fixes this unwanted behaviour. Differential Revision: https://developer.blender.org/D6647 Reviewers: brecht , sergey
2020-02-09Build_environment: Fix unwanted exports from libxml on windows.Ray Molenkamp
libxml puts dllexport on all its functions causing the blender binary to export these symbols. this patch fixes this unwanted behaviour. Differential Revision: https://developer.blender.org/D6646 Reviewers: brecht , sergey
2020-02-09Build_environment: Freetype 2.10.1Ray Molenkamp
Freeetype 2.9.1 tags dllexport on most of its functions so these are now exported from the blender binary. (Same issue as D6563 which fixed it for USD) Issue has already been fixed upstream so a simple version bump fixes it. This patch bumps freetype to 2.10.1 Differential Revision: https://developer.blender.org/D6645 Reviewers: brecht , sergey
2020-02-08Build_environment: OSL 1.10.9 / llvm 9.0.1Ray Molenkamp
OSL 1.10.9 fixes osl-bug 866 [1] which is long standing issue on windows where paths get un-escaped and osl breaks when you install it to for instance c:\blender-tests\new-boolean This patch bumps osl to 1.10.9, and since osl is llvm's only consumer, llvm/clang were bumped 9.0.1 Removed some of the patches that were no longer needed Builds and passes all tests on windows and linux [1] https://github.com/imageworks/OpenShadingLanguage/issues/866 Differential Revision: https://developer.blender.org/D6744 Reviewers: brecht
2020-02-05CMake: remove non-standard package search pathsCampbell Barton
Reduce the number of possible locations used to find libraries, to simplify troubleshooting. Only keep '*_ROOT_DIR' and the path used by 'install_deps.sh'.
2020-01-23Make deps: Fix zlib symbols defined twiceBrecht Van Lommel
We compile zlib as own dependency, but are not informing BLOSC to use it. This leads to zlib symbols defined twice when linking Blender: one set comes from libz.a and another one from libblosc.a. Tested on Linux Debian testing and CentOS 7.5. It is possible that this change on its own will lead to linking errors after libraries are re-compiled, This will be fixed as a dedicated fix to Blender's build system. Reviewed By: brecht, mont29, LazyDodo Differential Revision: https://developer.blender.org/D6641
2020-01-21libs/windows: Prevent USD exports from leaking into blender binary.Ray Molenkamp
Even though we build USD as static, it still feels the need to mark its symbols with declspec(dllexport) which means the blender binary now exports these symbols. this patch fixes that unwanted behaviour, however USD libs still need to rebuild before this becomes visible in the blender binary Differential Revision: https://developer.blender.org/D6563 Reviewed By: sybren
2020-01-21Fix: Building with clang on windows.Ray Molenkamp
The USD landing broke building with clang on windows due to a couple of reasons: 1) Some incompatibilities in their headers [1] only one of them was important for us and is included in our patchset now. 2) clangs lld wanted the full path to the libusd_b library when using the whole archive link option, while msvc can figure it out from just the library name. Tested with clang/msvc and msbuild and ninja generators [1] https://github.com/PixarAnimationStudios/USD/issues/1030
2020-01-20Build: upgrade to OpenEXR 2.4.0, OpenVDB 7.0.0 and Boost 1.70.0Brecht Van Lommel
This aligns with the VFX reference platform 2020 along with the decision to stick to Python 3.7, see T68774. Blosc was downgraded to 1.5 as recommended by the OpenVDB documentation. IlmBase and OpenEXR are now built together with CMake rather separately using autoconf. Differential Revision: https://developer.blender.org/D6593
2019-12-13USD: Introducing a simple USD ExporterSybren A. Stüvel
This commit introduces the first version of an exporter to Pixar's Universal Scene Description (USD) format. Reviewed By: sergey, LazyDodo Differential Revision: https://developer.blender.org/D6287 - The USD libraries are built by `make deps`, but not yet built by install_deps.sh. - Only experimental support for instancing; by default all duplicated objects are made real in the USD file. This is fine for exporting a linked-in posed character, not so much for thousands of pebbles etc. - The way materials and UV coordinates and Normals are exported is going to change soon. - This patch contains LazyDodo's fixes for building on Windows in D5359. == Meshes == USD seems to support neither per-material nor per-face-group double-sidedness, so we just use the flag from the first non-empty material slot. If there is no material we default to double-sidedness. Each UV map is stored on the mesh in a separate primvar. Materials can refer to these UV maps, but this is not yet exported by Blender. The primvar name is the same as the UV Map name. This is to allow the standard name "st" for texture coordinates by naming the UV Map as such, without having to guess which UV Map is the "standard" one. Face-varying mesh normals are written to USD. When the mesh has custom loop normals those are written. Otherwise the poly flag `ME_SMOOTH` is inspected to determine the normals. The UV maps and mesh normals take up a significant amount of space, so exporting them is optional. They're still enabled by default, though. For comparison: a shot of Spring (03_035_A) is 1.2 GiB when exported with UVs and normals, and 262 MiB without. We probably have room for optimisation of written UVs and normals. The mesh subdivision scheme isn't using the default value 'Catmull Clark', but uses 'None', indicating we're exporting a polygonal mesh. This is necessary for USD to understand our normals; otherwise the mesh is always rendered smooth. In the future we may want to expose this choice of subdivision scheme to the user, or auto-detect it when we actually support exporting pre-subdivision meshes. A possible optimisation could be to inspect whether all polygons are smooth or flat, and mark the USD mesh as such. This can be added when needed. == Animation == Mesh and transform animation are now written when passing `animation=True` to the export operator. There is no inspection of whether an object is actually animated or not; USD can handle deduplication of static values for us. The administration of which timecode to use for the export is left to the file-format-specific concrete subclasses of `AbstractHierarchyIterator`; the abstract iterator itself doesn't know anything about the passage of time. This will allow subclasses for the frame-based USD format and time-based Alembic format. == Support for simple preview materials == Very simple versions of the materials are now exported, using only the viewport diffuse RGB, metallic, and roughness. When there are multiple materials, the mesh faces are stored as geometry subset and each material is assigned to the appropriate subset. If there is only one material this is skipped. The first material if any) is always applied to the mesh itself (regardless of the existence of geometry subsets), because the Hydra viewport doesn't support materials on subsets. See https://github.com/PixarAnimationStudios/USD/issues/542 for more info. Note that the geometry subsets are not yet time-sampled, so it may break when an animated mesh changes topology. Materials are exported as a flat list under a top-level '/_materials' namespace. This inhibits instancing of the objects using those materials, so this is subject to change. == Hair == Only the parent strands are exported, and only with a constant colour. No UV coordinates, no information about the normals. == Camera == Only perspective cameras are supported for now. == Particles == Particles are only written when they are alive, which means that they are always visible (there is currently no code that deals with marking them as invisible outside their lifespan). Particle-system-instanced objects are exported by suffixing the object name with the particle's persistent ID, giving each particle XForm a unique name. == Instancing/referencing == This exporter has experimental support for instancing/referencing. Dupli-object meshes are now written to USD as references to the original mesh. This is still very limited in correctness, as there are issues referencing to materials from a referenced mesh. I am still committing this, as it gives us a place to start when continuing the quest for proper instancing in USD. == Lights == USD does not directly support spot lights, so those aren't exported yet. It's possible to add this in the future via the UsdLuxShapingAPI. The units used for the light intensity are also still a bit of a mystery. == Fluid vertex velocities == Currently only fluid simulations (not meshes in general) have explicit vertex velocities. This is the most important case for exporting velocities, though, as the baked mesh changes topology all the time, and thus computing the velocities at import time in a post-processing step is hard. == The Building Process == - USD is built as monolithic library, instead of 25 smaller libraries. We were linking all of them as 'whole archive' anyway, so this doesn't affect the final file size. It does, however, make life easier with respect to linking order, and handling upstream changes. - The JSON files required by USD are installed into datafiles/usd; they are required on every platform. Set the `PXR_PATH_DEBUG` to any value to have the USD library print the paths it uses to find those files. - USD is patched so that it finds the aforementioned JSON files in a path that we pass to it from Blender. - USD is patched to have a `PXR_BUILD_USD_TOOLS` CMake option to disable building the tools in its `bin` directory. This is sent as a pull request at https://github.com/PixarAnimationStudios/USD/pull/1048
2019-11-18Build deps: Actually tweak EOL styleSergey Sharybin
Seems that `git am` will force native EOL.
2019-11-18Build deps: Fix compilaiton of OpenColladablender
Was caused by "wrong" EOL characters used in the patch: the file is actuallyu saved using CRLF EOL style. The patch was using CRLF as well for until recent change in the C runtime.
2019-11-08Windows: Switch to the dynamic C runtimeRay Molenkamp
This change switches windows to the dynamic C runtime avoiding issues coming from mixing the static and dynamic runtime like the ones outlined in [1] [1] https://developer.blender.org/D5387#122165 Differential Revision: https://developer.blender.org/D6175 Reviewed by: @Sergey