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
2020-12-09Cleanup: various clang tidy fixesJacques Lucke
2020-12-03Fix linker errors when building without CyclesSybren A. Stüvel
Fix linker errors by explicitly linking PugiXML when OpenImageIO is used. PugiXML has been separated from OpenImageIO (D8628). This means that any time OpenImageIO libraries are linked, the PugiXML libraries have to be linked as well. This was set up correctly for Cycles, but not for imbuf. Because of this, building without Cycles but with OIIO would produce linker errors.
2020-11-11Fix T82602: checking image header reads past buffer boundsCampbell Barton
Use the size argument to ensure checking the header doesn't read past the buffer bounds when reading corrupt/truncated headers from image files.
2020-11-11Cleanup: pass header size to 'is_a' callbacksCampbell Barton
No functional changes, prepare for fixing out-of-bounds access when reading headers.
2020-11-10ImBuf: support detecting the file format from in-memory imagesCampbell Barton
Add `IMB_ispic_type_from_memory` so we can detect the file format of in-memory images. This removes `is_a_filepath` callback and uses a magic check for photo-shop files that's compatible with OIIO. Even though OIIO doesn't support packed images, we can still use the file magic for detecting the format. This change allows D9500 (a fix for unpacking images), to be implemented without a significant performance penalty, although the actual performance cost would depend heavily on the blend file. Reviewed By: dfelinto, sergey Ref D9517
2020-11-09Cleanup: imbuf callback namingCampbell Barton
Use `is_a` & `is_a_filepath` in callback names.
2020-11-06Cleanup: Clang-Tidy modernize-use-nullptrSybren A. Stüvel
Replace `NULL` with `nullptr` in C++ code. No functional changes.
2020-10-10Cleanup: use C comments for descriptive textCampbell Barton
Follow our code style guide by using C-comments for text descriptions.
2020-08-08Cleanup: remove redundant return parenthesisCampbell Barton
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-05-08Cleanup: take includes out of 'extern "C"' blocksJacques Lucke
Surrounding includes with an 'extern "C"' block is not necessary anymore. Also that made it harder to add any C++ code to some headers, or include headers that have "optional" C++ code like `MEM_guardedalloc.h`. I tested compilation on linux and windows (and got help from @LazyDodo). If this still breaks compilation due to some linker error, the header containing the symbol in question is probably missing an 'extern "C"' block. Differential Revision: https://developer.blender.org/D7653
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-02-25GPU: Add Image property to allow high bitdepth support on a per image basisClément Foucault
This adds the `Half Float Precision` option in the image property panel. This option is only available on float textures and is enabled by default. Adding a flag inside the imbuf (IB_halffloat) on load is done for EXR and PSD formats that can store half floating point (16bits/channels). The option is then not displayed in this case and forced. Related task T73086 Reviewed By: brecht Differential Revision: https://developer.blender.org/D6891
2020-01-27Fix OBJECT_GUARDED_FREE compiler error when type is in namespaceBrecht Van Lommel
2020-01-23CMake: Refactor external dependencies handlingSergey Sharybin
This is a more correct fix to the issue Brecht was fixing in D6600. While the fix in that patch worked fine for linking it broke ASAN runtime under some circumstances. For example, `make full debug developer` would compile, but trying to start blender will cause assert failure in ASAN (related on check that ASAN is not running already). Top-level idea: leave it to CMake to keep track of dependency graph. The root of the issue comes to the fact that target like "blender" is configured to use a lot of static libraries coming from Blender sources and to use external static libraries. There is nothing which ensures order between blender's and external libraries. Only order of blender libraries is guaranteed. It was possible that due to a cycle or other circumstances some of blender libraries would have been passed to linker after libraries it uses, causing linker errors. For example, this order will likely fail: libbf_blenfont.a libfreetype6.a libbf_blenfont.a This change makes it so blender libraries are explicitly provided their dependencies to an external libraries, which allows CMake to ensure they are always linked against them. General rule here: if bf_foo depends on an external library it is to be provided to LIBS for bf_foo. For example, if bf_blenkernel depends on opensubdiv then LIBS in blenkernel's CMakeLists.txt is to include OPENSUBDIB_LIBRARIES. The change is made based on searching for used include folders such as OPENSUBDIV_INCLUDE_DIRS and adding corresponding libraries to LIBS ion that CMakeLists.txt. Transitive dependencies are not simplified by this approach, but I am not aware of any downside of this: CMake should be smart enough to simplify them on its side. And even if not, this shouldn't affect linking time. Benefit of not relying on transitive dependencies is that build system is more robust towards future changes. For example, if bf_intern_opensubiv is no longer depends on OPENSUBDIV_LIBRARIES and all such code is moved to bf_blenkernel this will not break linking. The not-so-trivial part is change to blender_add_lib (and its version in Cycles). The complexity is caused by libraries being provided as a single list argument which doesn't allow to use different release and debug libraries on Windows. The idea is: - Have every library prefixed as "optimized" or "debug" if separation is needed (non-prefixed libraries will be considered "generic"). - Loop through libraries passed to function and do simple parsing which will look for "optimized" and "debug" words and specify following library to corresponding category. This isn't something particularly great. Alternative would be to use target_link_libraries() directly, which sounds like more code but which is more explicit and allows to have more flexibility and control comparing to wrapper approach. Tested the following configurations on Linux, macOS and Windows: - make full debug developer - make full release developer - make lite debug developer - make lite release developer NOTE: Linux libraries needs to be compiled with D6641 applied, otherwise, depending on configuration, it's possible to run into duplicated zlib symbols error. Differential Revision: https://developer.blender.org/D6642
2019-07-10Fix T66571: Unable to change input color space of PSDSergey Sharybin
Image reader must not override file's color space specification if it is already specified.
2019-05-25imbuf/oiio: Resolve build warnings with MSVC.Ray Molenkamp
math.h and oiio's missing_math.h where clashing over the definitions of common math defines like M_PI.
2019-04-23Cleanup: style, use braces for imbufCampbell Barton
2019-04-21Cleanup: comments (long lines) in imbufCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-14CMake: prepare for BLENDER_SORTED_LIBS removalCampbell Barton
No functional change, this adds LIB definition and args to cmake files. Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS' since there are many platforms/configurations that could break when changing linking order. Manually add and enable WITHOUT_SORTED_LIBS to try building without sorted libs (currently fails since all variables are empty). This check will eventually be removed. See T46725.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-05Cleanup: remove contributors for CMake filesCampbell Barton
Following removal from C source code. See: 8c68ed6df16d8893
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-26Cleanup: fix compiler warnings.Brecht Van Lommel
2018-12-11Update code to be compatible with OIIO 2.0Sergey Sharybin
There are some changes in API of OpenImageIO, but those are quite simple to keep working with older and newer library versions. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4064
2018-06-29Cleanup: trailing newlinesCampbell Barton
2018-06-17Cleanup: BLI path extension APICampbell Barton
Use BLI_path_extension_* prefix.
2017-05-27Remove MinGW supportAaron Carlisle
The Issue ======= For a long time now MinGW has been unsupported and unmaintained and at this point, it looks like something that we should just leave behind and move on. Why Remove ========== One of the big motivations for MinGW back in the day is that it was free compared to MSVC which was licensed based. However, now that this is no longer true we have basically stopped updating the need CMake files. Along with the CMake files, there are several patches to the extern libs needed to make this work. For example, see: https://developer.blender.org/diffusion/B/browse/master/extern/carve/patches/mingw_w64.patch If we wanted to keep MinGW then we would need to make more custom patches to the external libs and this is not something our platform maintainers are willing to do. For example, here is the patches needed to build python: https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-python3 Fixes T51301 Differential Revision: https://developer.blender.org/D2648
2017-05-16Make imbuf's OIIO bindings to compile with latest OIIO from gitSergey Sharybin
2016-11-29Fix compilation error with latest OIIO 1.7.8Sergey Sharybin
There are some changes in OIIO includes so now need to do some things differently.
2016-02-20ImBuf: Cleanup, don't use `using namespace`, it's a bad practiceSergey Sharybin
2016-02-20ImBuf: Solve re-definition warningsSergey Sharybin
The idea now is to have FFmpeg/OIIO headers listed after the system ones. This is because FFmpeg/OIIO might define some constants with the same name as the ones from math.h. FFmpeg/OIIO has ifdef around defines, but math.h doesn't check whether constants were already defined or not, which causes some noisy warnings.
2016-01-04Remove SCons building systemSergey Sharybin
While SCons building system was serving us really good for ages it's no longer having much attention by the developers and started to become quite a difficult task to maintain. What's even worse -- there started to be quite serious divergence between SCons and CMake which was only accumulating over the releases now. The fact that none of the active developers are really using SCons and that our main studio is also using CMake spotting bugs in the SCons builds became quite a difficult task and we aren't always spotting them in time. Meanwhile CMake became really mature building system which is available on every platform we support and arguably it's also easier and more robust to use. This commit includes: - Removal of actual SCons building system - Removal of SCons git submodule - Removal of documentation which is stored in the sources and covers SCons - Tweaks to the buildbot master to stop using SCons submodule (this change requires deploying to the server) - Tweaks to the install dependencies script to skip installing or mentioning SCons building system - Tweaks to various helper scripts to avoid mention of SCons folders/files as well Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit Reviewed By: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1680
2015-07-13 Imbuf types refactor.Antony Riakiotakis
ImBuf types were getting stored as bitflags in a 32bit integer which had already run out of space. Solved the problem by separating file type to an ftype enum, and file specific options to foptions. Reviewed by Campbell, thanks a lot!
2015-06-05ImBuf: Fix compilation error with latest OIIOSergey Sharybin
Latest OIIO libraries are using Boost libraries from the public headers.
2015-03-27ImBuf: Code cleanup, prepare for strict C++ flagsSergey Sharybin
2014-05-10Fix T40107: painting on a psd image crashes blender + style cleanup in fileDalai Felinto
The issue was that we can't assume we support the colorspace from the file. The reported file had an invalid colorspace in fact, which was leading to the segfault in Blender. Thanks for Sergey Sharybin for the help here.
2013-12-08Extend system-info with information about OIIO, OCIO and OSLSergey Sharybin
Summary: Version of those libraries might be useful to know. - OIIO and OCIO is exposed via bpy.app.oiio and bpy.app.ocio. There're "supported", "version" and "version_string" defined in those modules. - OSL is available as _cycles.osl_version and _cycles.osl_version_string. Reviewers: campbellbarton Reviewed By: campbellbarton CC: dingto Differential Revision: http://developer.blender.org/D79
2013-10-23style cleanupCampbell Barton
2013-10-18Add debug prints to the PSD loader in imbuf. The error message can be ↵Irie Shinsuke
obtained from OIIO by geterror().
2013-10-13cmake/openimageio - partially reverting #60692Dalai Felinto
We now have openimageio building when cycles builds or when it's manually set to build. (I reverted the _IMAGE_ in the define name because I think the closer the cmake flags match the defines in the software the better, and there is no reason to rename all the existent WITH_OPENIMAGEIO references in CMakeLists.txt - which would be the alternative)
2013-10-12Fix build scripts related to PSD support. Both CMake and SCons builds were ↵Irie Shinsuke
broken.
2013-10-12scons: fix WITH_PSD compiling, still i think muddled naming is used here, ↵Jens Verwiebe
todo: cleanup
2013-10-11adding WITH_IMAGE_OPENIMAGEIO and removing the PSD build optionDalai Felinto
As per Brecht van Lommel's suggestion.
2013-10-10style cleanupCampbell Barton
2013-10-09style cleanupCampbell Barton
2013-10-09fix building when WITH_PSD is OFF, stub is not needed afterallDalai Felinto