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-02-11Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-02-11Fix Cycles compilation on 32bit ARM platformSergey Sharybin
The rbit instruction is only available starting with ARMv6T2 and the register prefix is different from what AARCH64 uses. Separate the 32 and 64 bit ARM branches, add missing ISA checks. Made sure the code works as intended on macMini with Apple silicon, and on Raspberry Pi 4 B running 32bit Raspbian OS. Differential Revision: https://developer.blender.org/D14056
2022-02-11Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-11Cycles: refactor to keep session thread alive for duration of sessionBrecht Van Lommel
Instead of creating and destroying threads when starting and stopping renders, keep a single thread alive for the duration of the session. This makes it so all display driver OpenGL resource allocation and destruction can happen in the same thread. This was implemented as part of trying to solve another bug, but it did not help. Still I prefer this behavior, to eliminate potential future issues wit graphics drivers or with future Cycles display driver implementations. Differential Revision: https://developer.blender.org/D14086
2022-02-11Fix T95420: Cycles crash with stereo render and tilesBrecht Van Lommel
For reasons unclear, destroying and then recreating a vertex buffer in the render OpenGL context is affecting the immediate mode vertex buffer in the draw manager OpenGL context. Instead just create a single vertex buffer and use it for the lifetime of the render OpenGL context. There's not really any need to have a separate one per tile as far as I can tell. Differential Revision: https://developer.blender.org/D14084
2022-02-11Cycles: support rendering attributes for Curves objectsKévin Dietrich
This adds support for exporting attributes from a Blender Curves object to Cycles. The implementation follows that of the Mesh object. This also creates motion blur data if the "velocity" attribute is present on the Curves. Ref T94193 Reviewed By: brecht Maniphest Tasks: T94193 Differential Revision: https://developer.blender.org/D14088
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-02-11Cleanup: clang-formatCampbell Barton
2022-02-10Merge branch 'blender-v3.1-release'Hans Goudey
2022-02-10Cycles: Expose "Use MetalRT" checkboxMichael Jones
For curve-heavy scenes, memory consumption regressed when we switched from MetalRT to bvh2. Allow users to opt in to MetalRT to workaround this. Reviewed By: brecht Differential Revision: https://developer.blender.org/D14071
2022-02-10Fix T95477: Report error instead of crashing when Metal texture size limits ↵Michael Jones
exceeded. Reviewed By: brecht Differential Revision: https://developer.blender.org/D14074
2022-02-10Cycles: Workaround for failing "bake" unit tests in MetalMichael Jones
Allocate "RenderBuffers" with MTLResourceStorageModeShared. Reviewed By: brecht Differential Revision: https://developer.blender.org/D14073
2022-02-10Workaround for T94142: Cycles Metal crash with simultaneous viewport and ↵Michael Jones
final render Disable binary archives on Apple Silicon (issue stems from instancing multiple PSOs from the same binary archive). Pipeline creation still filters through the OS shader cache, mitigating any impact on setup times after the initial render. Reviewed By: brecht Differential Revision: https://developer.blender.org/D14072
2022-02-10Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-02-10Fix size_t -> int -> size_t round trip in CyclesSergey Sharybin
There are two things achieved by this change: - No possible downcast of size_t to int when calculating motion steps. - Disambiguate call to `min()` which was for some reason considered ambiguous on 32bit platforms `min(int, unsigned int)`. - Do the same for the `max()` call to keep them symmetrical. On an implementation side the `min()` is defined for a fixed width integer type to disambiguate uint from size_t on 32bit platforms, and yet be able to use it for 32bit operands on 64bit platforms without upcast. This ended up in a bit bigger change as the conditional compile-in of functions is easiest if the functions is templated. Making the functions templated required to remove the other source of ambiguity which is `algorithm.h` which was pulling min/max from std. Now it is the `math.h` which is the source of truth for min/max. It was only one place which was relying on `algorithm.h` for these functions, hence the choice of `math.h` as the safest and least intrusive. Fixes 32bit platforms (such as i386) in Debian package build system. Differential Revision: https://developer.blender.org/D14062
2022-02-10Fix: Complete curves renaming missed in previous commitHans Goudey
This made cycles not render curves. Missed in fe1816f67fbc6aaf383ec7
2022-02-09Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-02-09Revert "Fix size_t -> int -> size_t round trip in Cycles"Sergey Sharybin
This reverts commit d74bb7be1916744ae56347b49333eac22ebb7339. Need to re-iterate to have a proper support of all platforms.
2022-02-09Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-02-09Fix size_t -> int -> size_t round trip in CyclesSergey Sharybin
There are two things achieved by this change: - No possible downcast of size_t to int when calculating motion steps. - Disambiguate call to min() which was for some reason considered ambiguous on 32bit platforms `min(int, unsigned int)`. On an implementation side the `min()` is defined for a fixed width integer type to disambiguate uint from size_t on 32bit platforms, and yet be able to use it for 32bit operands on 64bit platforms without upcast. Fixes 32bit platforms (such as i386) in Debian package build system. Differential Revision: https://developer.blender.org/D13992
2022-02-07Curves: Rename "Hair" types, variables, and functions to "Curves"Hans Goudey
Based on discussions from T95355 and T94193, the plan is to use the name "Curves" to describe the data-block container for multiple curves. Eventually this will replace the existing "Curve" data-block. However, it will be a while before the curve data-block can be replaced so in order to distinguish the two curve types in the UI, "Hair Curves" will be used, but eventually changed back to "Curves". This patch renames "hair-related" files, functions, types, and variable names to this convention. A deep rename is preferred to keep code consistent and to avoid any "hair" terminology from leaking, since the new data-block is meant for all curve types, not just hair use cases. The downside of this naming is that the difference between "Curve" and "Curves" has become important. That was considered during design discussons and deemed acceptable, especially given the non-permanent nature of the somewhat common conflict. Some points of interest: - All DNA compatibility is lost, just like rBf59767ff9729. - I renamed `ID_HA` to `ID_CV` so there is no complete mismatch. - `hair_curves` is used where necessary to distinguish from the existing "curves" plural. - I didn't rename any of the cycles/rendering code function names, since that is also used by the old hair particle system. Differential Revision: https://developer.blender.org/D14007
2022-02-07Merge branch 'blender-v3.1-release'Bastien Montagne
2022-02-07Fix UI messages (typos etc.).Bastien Montagne
2022-02-06Merge branch 'blender-v3.1-release'Clément Foucault
2022-02-04Fix uninitialized value in Cycles BVH after recent changesBrecht Van Lommel
Found by asan, unknown if it actually caused an issue.
2022-02-04Merge branch 'blender-v3.1-release'Clément Foucault
2022-02-04Fix T93851: Cycles wrong glossy indirect pass with volumesBrecht Van Lommel
2022-02-03Curves: Changes to the new curves data-blockHans Goudey
This patch refactors the "Hair" data-block, which will soon be renamed to "Curves". The larger change is switching from an array of `HairCurve` to find indices in the points array to simply storing an array of offsets. Using a single integer instead of two halves the amount of memory for that particular array. Besides that, there are some other changes in this patch: - Split the data-structure to a separate `CurveGeometry` DNA struct so it is usable for grease pencil too. - Update naming to be more aligned with newer code and the style guide. - Add direct access to some arrays in RNA -- Radius is now retrieved as a regular attribute in Cycles. -- `HairPoint` has been renamed to `CurvePoint` -- `HairCurve` has been renamed to `CurveSlice` - Add comments to the struct in DNA. The next steps are renaming `Hair` -> `Curves`, and adding support for other curve types: Bezier, Poly, and NURBS. Ref T95355 Differential Revision: https://developer.blender.org/D13987
2022-02-03Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-03Cleanup: clang-formatBrecht Van Lommel
2022-02-03Fix T93565: revert Cycles to old normal behavior for point lightsSebastian Herholz
This patch reverts the normal behavior of the spotlights. In the last fix, the returned normal of a spot light was equal to its direction. This broke some texturing methods used by artists. Differential Revision: https://developer.blender.org/D13991
2022-02-03Merge branch 'blender-v3.1-release'Thomas Dinges
2022-02-03Fix wrong function call in Cycles acceleration UI poll.Thomas Dinges
Thanks to Sergey for spotting this mistake.
2022-01-31Fix Cycles assert in light samplingBrecht Van Lommel
There is no object transform on lights.
2022-01-31Cleanup: use our own conventions for tags in commentsCampbell Barton
2022-01-28Fix Cycles assert in light samplingBrecht Van Lommel
There is no object transform on lights.
2022-01-28Fix insufficient CPU flags checks for Cycles OIDNSergey Sharybin
Sometime throughout development some checks got lost during refactor. This change makes it so that if OIDN is not supported on the current CPU Cycles will report an error and stop rendering. This behavior is similar to when an OptiX denoiser is requested and there is no OptiX compatible device available. The easiest way to verify this change is to force return false from the `openimagedenoise_supported()`. Fixes Cycles part of the T94127. Differential Revision: https://developer.blender.org/D13944
2022-01-28Cleanup: indentation for CMake filesCampbell Barton
Also minor white-space & case changes.
2022-01-26Cycles: remove ray offsettingWilliam Leeson
Remove small ray offsets that were used to avoid self intersection, and leave that to the newly added primitive object/prim comparison. These changes together significantly reduce artifacts on small, large or far away objects. The balance here is that overlapping primitives are not handled well and should be avoided (though this was already an issue). The upside is that this is something a user has control over, whereas the other artifacts had no good manual solution in many cases. There is a known issue where the Blender particle system generates overlapping objects and in turn leads to render differences between CPU and GPU. This will be addressed separately. Differential Revision: https://developer.blender.org/D12954
2022-01-26Cycles: explicitly skip self-intersectionWilliam Leeson
Remember the last intersected primitive and skip any intersections with the same primitive. Ref D12954
2022-01-26Cycles: compute triangle location from barycentric instead of re-intersectingWilliam Leeson
This is a bit more efficient than what we did before. Ref D12954
2022-01-26Fix: OSL not recognizing UVTILE imagesJesse Yurkovich
The OSL image compilation step needed to be taught about the new UVTILE format for UDIM textures. A small missing feature from OIIO[1] means this is a bit uglier than it needs to be. Once we update to a version of OIIO with the fix we can remove the string replace part. [1] https://github.com/OpenImageIO/oiio/commit/35cb6a83e28d77bd9eb30e153abd9df4248863c5 Differential Revision: https://developer.blender.org/D13912
2022-01-26Cleanup: spelling in commentsCampbell Barton
2022-01-25Cleanup: Remove leftover hair fade code in Cycles.Thomas Dinges
2022-01-25Cycles: Reorganize Acceleration Structure UI panel.Thomas Dinges
Only show options that are valid for the used device (CPU, GPU, Multi). Note: The panel isn't shown for OPTIX anymore, unless Multi device is used. Reference: https://developer.blender.org/D13592
2022-01-25Cycles: Make Embree compact BVH optionalThomas Dinges
Make the Embree RTC_SCENE_FLAG_COMPACT flag optional and enabled per default. Disabling it makes CPU rendering a bit faster in some scenes at the cost of a higher memory usage. Barbershop renders about 3% faster, victor about 4% on CPU with compact BVH disabled. Differential Revision: https://developer.blender.org/D13592
2022-01-25Cycles: add Point Info nodeBrecht Van Lommel
With (center) position, radius and random value outputs. Eevee does not yet support rendering point clouds, but an untested implementation of this node was added for when it does. Ref T92573
2022-01-25Cleanup: Remove unused pixel buffer in read_render_tileJesse Yurkovich
A left over remnant from rB1a134c4c30a643ada1b9a7a037040b5f5c173a28 Differential Revision: https://developer.blender.org/D13901
2022-01-24Fix T94355: Cycles wrong GPU bake with adaptive samplingBrecht Van Lommel
2022-01-24Fix T94651: Cycles error with pointcloud vector attributeBrecht Van Lommel