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
path: root/intern
AgeCommit message (Collapse)Author
2022-10-04Cycles: Disable binary archives on macOS < 13.0Michael Jones
(Cherry pick D16082) An bug with binary archives was fixed in macOS 13.0 which stops some spurious kernel recompilations. In older macOS versions, falling back on the system shader cache will prevent recompilations in most instances (this is the same behaviour as in Blender 3.1.x and 3.2.x). Reviewed By: brecht Differential Revision: https://developer.blender.org/D16141
2022-09-30Cycles: 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-27UI: add preference to disable touchpad multitouch gesturesBrecht Van Lommel
Available on Windows and macOS, where such gestures are supported. For Windows, disabling this option restores touchpad behavior to match Blender 3.2. Ref T97925 Differential Revision: https://developer.blender.org/D16005
2022-09-26Fix T101354: Cycles crash with baking and adaptive samplingBrecht Van Lommel
2022-09-23Fix T101298: Blender 3.3.1 crash on macOS due to merge errorBrecht Van Lommel
Blender 3.3 is still using GLEW and needs this initialization.
2022-09-22Fix T100899: Drag and Drop failing depending on window positionGermano Cavalcante
Regression introduced in rBbbf87c4f7509, which now relies on OS coordinates for Drag and Drop. These coordinates did not match on different OSs.
2022-09-21Add oneAPI to the 'cycles_device' command line argument help textAlaska
Differential Revision: https://developer.blender.org/D16027
2022-09-21Fix T100833: Cycles UDIM baking broken after recent changesBrecht Van Lommel
2022-09-21Fix part of T100626: Cycles not using tiles for bakingBrecht Van Lommel
Leading to excessive memory usage compared to Blender 2.93. There's still some avoidable memory usage remaining, due to the full float buffer in the new image editor drawing and not loading the cached EXR from disk in tiles. Main difficulty was handling multi-image baking and disk caches, which is solved by associating a unique layer name with each image so it can be matched when reading back the image from the disk. Also some minor header changes to be able to use RE_MAXNAME in RE_bake.h.
2022-09-21Fix T101065: wrong denoising depth after ray precision improvementsBrecht Van Lommel
2022-09-21Fix macOS build error due to merge issueBrecht Van Lommel
2022-09-21Fix compilation on Linux, glibc 2.34, and CentOS librariesSergey Sharybin
A continuation of previous fix for malloc hooks which got removed from the new glibc library. The pre-compiled jemalloc has definitions which interpose hooks in glibc leading to linking errors with multiple hook definitions. A simple fix is to skip doing the workaround when using jemalloc from pre-compiled libraries. This will likely be revisited in the future, but for now it is important to fix compilation errors for developers.
2022-09-21Cleanup: quiet missing-variable-declarations warningCampbell Barton
2022-09-21GLibC Compat: Add deprecated memory hooks symbols removed from 2.34.Bastien Montagne
Starting from GLibC 2.34, deprecated `__malloc_hook` & co. have been removed from headers, while still present in the shared library itself. This means that it is no more possible to build Blender with USD 22.03 on recent linux systems. While USD 22.08 has a fix to this issue, it is unlikely to be upgraded for Blender 3.4, and definitely not for Blender 3.3. This commit ensures Blender can build with USD 22.03 and glibc >= 2.34. Ref.: T99618, https://devtalk.blender.org/t/building-blender-on-linux-using-glibc-2-34-raises-linking-errors-from-the-usd-library/24185 Patch by @brecht, many thanks.
2022-09-21MacOS: Resolve purple rendering artifacts in EEVEE materials by increasing ↵Jason Fielder
sampler limit. Enables a feature flag during OpenGL device initialisation on macOS, which increases the available number of texture samplers available for use within shaders. Enabling this flag removes purple rendering artifacts present in certain EEVEE materials, when the existing limit of 16 is exceeded. This feature flag is supported on Apple Silicon and AMD GPUs, for devices supporting macOS 11.0+. Device initialisation first tests whether GL device creation with the flag is supported, if not, we fall back to standard initialisation. Other solutions would not be trivial or incur additional performance overhead or feature limitations. Other workarounds, such as texture atlas's, could already be created by artists. {F13245498} {F13245497} Reviewed By: jbakker Maniphest Tasks: T57759, T63935 Differential Revision: https://developer.blender.org/D15336
2022-09-21Fix T100708: Cycles bake of diffuse/glossy color not outputting alphaBrecht Van Lommel
2022-09-21Fix: Build error in Cycles with OpenVDB turned offHans Goudey
2022-09-21Fix T100714: Cycles volume render artifacts with negative value gridsBrecht Van Lommel
The volume bounds were not constructed correctly in this case.
2022-09-21Tweak cryptomatte channels naming to improve interoperabilitySergey Sharybin
Use lowercase rgba channel names which still by-passes lossy nature of DWA compression and which also keeps external compositing tools happy. Thanks Steffen Dünner for testing this patch! Differential Revision: https://developer.blender.org/D15834
2022-09-21Fix cryptomatte passes saved lossy into multilayer EXRSergey Sharybin
The DWA compression code in OpenEXR has hardcoded rules which decides which channels are lossy or lossless. There is no control over these rules via API. This change makes it so channel names of xyzw is used for cryptomatte passes in Cycles. This works around the hardcoded rules in the DWA code making it so lossless compression is used. It is important to use lower case y channel name as the upper case Y uses lossy compression. The change in the channel naming also makes it so the write code uses 32bit for the cryptomatte even when saving half-float EXR. Fixes T96933: Cryptomatte layers saved incorrectly with EXR DWA compression Fixes T88049: Cryptomatte EXR Output Bit Depth should always be 32bit Differential Revision: https://developer.blender.org/D15823
2022-09-12Fix T100914: Cycles faceting with combined Bump and DisplacementBrecht Van Lommel
Port over small part of ray differentials refactor in e949d6da5bd3 that accidentally fixed this bug. Ensure ray differentials are orthogonal to the normal.
2022-09-06Fix T100824: Cycles GPU render broken on macOS 13 Beta and Apple siliconv3.3.0Brecht Van Lommel
The recent revert of Apple silicon inlining changes to avoid long compile times worked on macOS 12, but in macOS 13 Beta it results in render errors. This may be a compiler bug and perhaps get fixed in time, but try to be on the safe side and ensure Blender 3.3.0 works regardless. This brings part of the inlining back, which brings improved performance but also longer compiler times again. Compile time is around 2min now, where the previous full inlining was about 5-7min. Patch by Michael Jones. Differential Revision: https://developer.blender.org/D15897
2022-09-06Cycles: Fix crashes in oneAPI backend for scenes not fitting in dGPU memoryNikita Sirgienko
Differential Revision: https://developer.blender.org/D15889
2022-09-05Fix T100814: Cycles wrong area light parametric texture coordinatesBrecht Van Lommel
The fix from cefd6140f322 was for light intersection, but light sampling also needs it. Differential Revision: https://developer.blender.org/D15879
2022-09-05Fix Cycles not rendering hair without radius attributesBrecht Van Lommel
This was fixed in 8159e0a but accidentally reverted as part of 18b703d
2022-08-31Cycles: Enforce Windows driver version requirements for syclXavier Hallade
sycl/L0 runtime reports compute-runtime version since Intel graphics driver 101.3268 on Windows, when querying driver version from sycl. Prior to this driver, it was 0. Now we can bump minimum requirement to this one and filter-out devices returning 0. Maniphest Tasks: T100648
2022-08-29Cycles: Remove "return" and "assert" from oneAPI kernel codeNikita Sirgienko
2022-08-29Cycles: Increased minimum supported driver for Windows in oneAPINikita Sirgienko
2022-08-26Fix T55284: error in Hybrid MultiFractal Musgrave textureLuis Pereira
The calculation was revised to address two issues: * Discontinuities occurring when detail was a non-integer greater than 2. * Levels of detail in the interval [0,1) repeating the levels of detail in the interval [1,2). This fixes Cycles, Eevee and geometry nodes. Differential Revision: https://developer.blender.org/D15785
2022-08-25Fix Cycles oneAPI for a newer DPC++ compiler versionSergey Sharybin
2022-08-24Fix WITH_CYCLES_ONEAPI_BINARIES issues with make releaseBrecht Van Lommel
Fix typo in blender_release.cmake, and ensure that "make release" still works when ocloc is not available. While a fatal error is useful for debugging, the current convention is to disable features, especially in cases like this where there is no simple way to make the feature work. Differential Revision: https://developer.blender.org/D15774
2022-08-22Fix T90706: crash when deleting fluid sim geometrySonny Campbell
Differential Revision: https://developer.blender.org/D15299
2022-08-19Fix T96133: Cycles viewport render crash with NVIDIA GPUs on macOSBrecht Van Lommel
2022-08-19Cleanup: replace CHECK_TYPE macro with static_assertBrecht Van Lommel
To avoid conflicts with BLI headers and simplify code.
2022-08-18Fix T100246: Cycles GPU render error when adding AO node during viewport renderBrecht Van Lommel
2022-08-18Cycles: disable Metal inlining optimization on Apple GPUsBrecht Van Lommel
This gave a 1.1x speedup, however also leads to very long compile times that make it seems like Blender has stopped working. This can be brought back in the future behind an option that users can explicitly enabled. Fix T100102 Ref D14923, D14763, T92212
2022-08-17Cleanup: spelling in commentsCampbell Barton
2022-08-15Fix T100106: Cycles poor playback performance with still image and auto refreshBrecht Van Lommel
The auto refresh option should be ignored in this case.
2022-08-15Fix build error in libc_compat when using musl libcBrecht Van Lommel
Checking for the existence of and using __GLIBC_PREREQ can't be done in the same conditional. Contributed by listout. Differential Revision: https://developer.blender.org/D15690
2022-08-13Fix Cycles MetalRT compile errorBrecht Van Lommel
2022-08-13Fix T100354: Home key being the grave accent in french keyboard layoutGermano Cavalcante
I'm still not sure how the `0xFF` value came about, but it's not a valid virtual key code. Therefore it should not be used in `MapVirtualKey`.
2022-08-12Fix syntax error introduced in previous commitPatrick Mours
2022-08-12Cycles: Improve denoiser update performance when rendering with multiple GPUsPatrick Mours
This patch causes the render buffers to be copied to the denoiser device only once before denoising and output/display is then fed from that single buffer on the denoiser device. That way usually all but one copy (from all the render devices to the denoiser device) can be eliminated, provided that the denoiser device is also the display device (in which case interop is used to update the display). As such this patch also adds some logic that tries to ensure the chosen denoiser device is the same as the display device. Differential Revision: https://developer.blender.org/D15657
2022-08-09Cycles: improve ray tracing precision near triangle edgesBrecht Van Lommel
Detect cases where a ray-intersection would miss the current triangle, which if the intersection is strictly watertight, implies that a neighboring triangle would incorrectly be hit instead. When that is detected, apply a ray-offset. The idea being that we only want to introduce potential error from ray offsets if we really need to. This work for BVH2 and Embree, as we are able to match the ray-interesction bit-for-bit, though doing so for Embree requires ugly hacks. Tiny differences like fused-multiply-add or dot product intrinstics in matrix inversion and ray intersection needed to be matched exactly, so this is fragile. Unfortunately we're not able to do the same for OptiX or MetalRT, since those implementations are unknown (and possibly impossible to match as hardware instructions). Still artifacts are much reduced, though not eliminated. Ref T97259 Differential Revision: https://developer.blender.org/D15559
2022-08-09Cycles: make transform inverse match Embree exactlyBrecht Van Lommel
Helps improve ray-tracing precision. This is a bit complicated as it requires different implementation depending on the CPU architecture.
2022-08-09Cleanup: simplify CPU instruction checkingBrecht Van Lommel
The performance of this will be slightly more important for upcoming changes. Also removed an unused function and changed includes so these system.h can be included in more places.
2022-08-09Fix T100119: Cycles light object's parametric vector distortedSergey Sharybin
Caused by 38af5b050100. Adjust barycentric coordinates used for intersection result in the ray-to-rectangle intersection check. Differential Revision: https://developer.blender.org/D15592
2022-08-08Fix Cycles crash after recent bugfix for image savingBrecht Van Lommel
2022-08-08Fix: Error in oneAPI image code for texture access with clip extensionNikita Sirgienko
2022-08-07Cycles: re-enable zebin format for Intel GPUs on LinuxXavier Hallade
zebin format is critical for the compatibility of AoT graphics binaries across driver versions. It was previously disabled on Linux due to runtime issues that are now fixed in https://github.com/intel/compute-runtime/releases/tag/22.31.23852. The minimum supported driver version isn't bumped to this one yet as current codebase with current IGC compiler does actually run fine on earlier drivers and is not running into these issues anymore.