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-11-10Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023Ray Molenkamp
2022-11-10Cleanup: formatCampbell Barton
2022-11-10Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023Ray Molenkamp
2022-11-09Merge branch 'blender-v3.4-release'Brecht Van Lommel
2022-11-09Fix T101669: Cycles artifacts in bump map bakingBrecht Van Lommel
After barycentric convention changes, the differentials used for bump mapping were wrong leading to artifacts with long thin triangles.
2022-11-09Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023Ray Molenkamp
2022-11-09Cycles: Add basic support for using OSL with OptiXPatrick Mours
This patch generalizes the OSL support in Cycles to include GPU device types and adds an implementation for that in the OptiX device. There are some caveats still, including simplified texturing due to lack of OIIO on the GPU and a few missing OSL intrinsics. Note that this is incomplete and missing an update to the OSL library before being enabled! The implementation is already committed now to simplify further development. Maniphest Tasks: T101222 Differential Revision: https://developer.blender.org/D15902
2022-11-08Refactor: replace Cycles sse/avx types by vectorized float4/int4/float8/int8Brecht Van Lommel
The distinction existed for legacy reasons, to easily port of Embree intersection code without affecting the main vector types. However we are now using SIMD for these types as well, so no good reason to keep the distinction. Also more consistently pass these vector types by value in inline functions. Previously it was partially changed for functions used by Metal to avoid having to add address space qualifiers, simple to do it everywhere. Also removes function declarations for vector math headers, serves no real purpose. Differential Revision: https://developer.blender.org/D16146
2022-11-03Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023Ray Molenkamp
2022-11-03Cleanup: cmake comment line lengthCampbell Barton
2022-11-02Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023Ray Molenkamp
2022-10-28Cycles: add Equiangular Cubemap Face camera projectionDamian Trebilco
This can be used for example for VR video formats that use this projection instead of perspective projection for cubemap faces. Differential Revision: https://developer.blender.org/D13525
2022-10-25Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023Ray Molenkamp
2022-10-21Avoid re-compilation of oneAPI AoT kernels when configuration changesSergey Sharybin
Buildbot infrastructure relies on the fact that it can enable and disable `WITH_CYCLES_<COMPUTE>_BINARIES` without affecting speed of incremental builds. This allows buildbot to skip GPU kernels when doing CI regression tests which do not need GPU kernels, as well as it allows to move GPU kernels compilation to a separate step where all the resources are available to the GPU kernel builders. For the oneAPI compute enabling and disabling AoT kernels has much higher implications due to the kernels being a part of the device implementation from the build target perspective. This change makes it so different target names are used for JIT and AoT configurations, which allows CMake to more fully benefit from "caching" the compiled result. The end goal of this change is to make it so sequential build of the same code base on the buildbot happens super fast, Blender binary still needs to be re-linked when the AOT of oneAPI option is toggled, but that's already the case in the buildbot due to the WITH_BUILDINFO. Differential Revision: https://developer.blender.org/D16312
2022-10-21Cycles: oneAPI: remove use of SYCL host deviceXavier Hallade
Host device is deprecated in SYCL 2020 spec, cpu device or standard C++ should be used instead.
2022-10-21Cycles: Bump versions of DPC++, IGC, and dependenciesSergey Sharybin
Patch by Xavier Hallade. Committing next to the actual libraries update in the svn.
2022-10-20Fix T94136: Cycles: No Hair Shadows with Transparent BSDFLukas Stockner
2022-10-19Cycles: Allow Intel GPUs under MetalMorteza Mostajab
Known Issues: - Command buffer failures when using binary archives (binary archives is disabled for Intel GPUs as a workaround) - Wrong texture sampler being applied (to be addressed in the future) Ref T92212 Reviewed By: brecht Maniphest Tasks: T92212 Differential Revision: https://developer.blender.org/D16253
2022-10-19Cycles: oneAPI: fix clean Windows ninja buildsXavier Hallade
Previously, a first build using ninja would throw "ninja: error: 'intern/cycles/kernel/cycles_kernel_oneapi.lib', needed by 'bin/blender.exe', missing and no known rule to make it".
2022-10-19Cycles: oneAPI: preload kernels only when not using prebuilt binariesXavier Hallade
sycl::build triggers compilation even if prebuilt binaries are available, we'll have to find a better way in this case.
2022-10-19Cycles: oneAPI: include sycl/sycl.hpp instead of CL/sycl.hppXavier Hallade
Since SYCL 2020 API, sycl/sycl.hpp is the way.
2022-10-19Cycles: oneAPI: fix MSVC_TOOLS_DIR for some build environmentsXavier Hallade
MSVC Tools version doesn't match MSVC Redist version on some systems and it's not populated when using Ninja outside of Visual Studio shell, trying another way.
2022-10-18Fix T101529: Blender crashes when using Path GuidingSebastian Herholz
2022-10-14Cycles: oneAPI: Make test kernel more representativeNikita Sirgienko
Test kernel will now test functionalities related to kernel execution with USM memory allocations instead of with SYCL buffers and accessors as these aren't currently used in the backend.
2022-10-13Cycles: use one instance of oneAPI gpu compiler by defaultNikita Sirgienko
This change removes CMake code for automatic calculation of the number of offline device compiler instances, to hand over control to developers instead as it incurs a rather large memory usage with around 8GB per instance at peak. Use SYCL_OFFLINE_COMPILER_PARALLEL_JOBS CMake variable to configure it.
2022-10-12Cycles: Enable MNEE on Metal (macOS >= 13)Michael Jones
This patch enables MNEE on macOS >= 13. There was an inefficiency in the calculation of spill requirements, fixed as of macOS 13. This patch also adds a temporary inlining workaround for a Metal compiler bug which causes `mnee_compute_constraint_derivatives` to behave incorrectly. Reviewed By: brecht Differential Revision: https://developer.blender.org/D16235
2022-10-11Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023Ray Molenkamp
2022-10-10Cycles: oneAPI: Trigger compilation of used kernels onlyNikita Sirgienko
JIT compilation of oneAPI kernels now happens during load stage and proper message gets shown in the GUI during compilation. Also, this implementation skips kernels that aren't needed for the used scene, reducing overall (re)compilation time.
2022-10-10Cleanup: spelling in commentsCampbell Barton
2022-10-07Fix: One-API build issue on windows.Ray Molenkamp
Flags were not properly passed to the compiler.
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-07Cleanup: spelling in commentsCampbell Barton
2022-10-06Fix T101458: Changing volume density when pg is enabled causes crashSebastian Herholz
Changing volume parameters during rendering could cause a crash when guiding was enabled. It was due to an unintialized state paramter at the beginning of the path tracing process. In addition guiding is disabled when dealing with almost delta volumes (i.e., g close to 1.0 or -1.0).
2022-10-05Merge remote-tracking branch 'origin/master' into tmp-vfx-platform-2023Ray Molenkamp
2022-10-04Cycles: refine inlining thresholds for oneAPI backendNikita Sirgienko
New thresholds give a few percent improvement in average.
2022-10-04Cycles: Speed up oneAPI GPU binaries compilation by using parallel instancesNikita Sirgienko
This change speeds up the compilation at the cost of higher memory usage. CMake implementation checks the amount of available memory to spawn a reasonable number of parallel compiler jobs.
2022-10-03Cycles: add option to bake specular from active camera viewpointPhoenix Katsch
Previously it would bake viewed from above the surface. The new option can be useful when the baked result is meant to be viewed from a fixed viewpoint or with limited camera motion. Some effort is made to give a continuous reflection on parts of the surface invisible to the camera, but this is necessarily only a rough approximation. Differential Revision: https://developer.blender.org/D15921
2022-09-28Cleanup: spelling in commentsCampbell Barton
Also add missing task ID.
2022-09-27Cycles: Tweak inlining policy on MetalMichael Jones
This patch optimises the Metal inlining policy. It gives a small speedup (2-3% on M1 Max) with no notable compilation slowdown vs what is already in master. Previously noted compilation slowdowns (as reported in T100102) were caused by forcing inlining for `ccl_device`, but we get better rendering perf by relying on compiler heuristics in these cases. Reviewed By: brecht Differential Revision: https://developer.blender.org/D16081
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-27Cycles: BSDF eval refactor to remove separate reflection/refraction methodsBrecht Van Lommel
Simplifies code overall to do it inside the eval function, most of the BSDFs already compute the dot product. The refactoring in bsdf_principled_hair_eval() was needed to avoid a HIP compiler bug. Cause is unclear, just changing the implementation enough is meant to sidestep it. Ref T92571, D15286
2022-09-27Cycles: BSDF changes in preparation of path guidingSebastian Herhoz
* Return roughness and IOR for BSDF sampling * Add functions to query IOR and label for given BSDF * Default IOR to 1.0 instead of 0.0 for BSDFs that don't use it * Ensure pdf >= 0.0 in case of numerical precision issues Ref T92571, D15286
2022-09-26Cycles: increase min-supported driver version for Intel GPUsXavier Hallade
Windows drivers 101.3430 fix an important GUI-related crash and it's best to prevent users from running into it. Linux drivers weren't affected but still had relevant gpu binary compatibility fixes, so it makes sense to keep the min-supported version aligned across OSes.
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-22Cycles: Cleanup in oneAPI math includes and definitionsWerner, Stefan
Now explicitly including math.h first before #defining funcitons. This avoids undefined behavior and improves compatibility with different SYCL compilers and backends.
2022-09-20Cycles: don't allow negative BSDF weightsBrecht Van Lommel
This doesn't work with path guiding, and likely other features.
2022-09-15Fix T101065: wrong denoising depth after ray precision improvementsBrecht Van Lommel
2022-09-13Cycles: Make OSL implementation independent from SVMPatrick Mours
Cleans up the file structure to be more similar to that of the SVM and also makes it possible to build kernels with OSL support, but without having to include SVM support. This patch was split from D15902. Differential Revision: https://developer.blender.org/D15949
2022-09-13Fix oneAPI compilation on modern Linux and CentOS 7 librariesSergey Sharybin