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
2021-01-22Merge branch 'blender-v2.92-release'Brecht Van Lommel
2021-01-22Fix T84745: more build errors with TBB 2021Brecht Van Lommel
* tbb::blocked_range moved to a different namespace and since the fix is non-trivial, remove some unused code that used this. * Task group priorities are no longer supported. It's unclear if they are useful at all right now and even set correctly, for now all tasks are equal priority with TBB 2021.
2021-01-22Cycles: optimize device updatesKévin Dietrich
This optimizes device updates (during user edits or frame changes in the viewport) by avoiding unnecessary computations. To achieve this, we use a combination of the sockets' update flags as well as some new flags passed to the various managers when tagging for an update to tell exactly what the tagging is for (e.g. shader was modified, object was removed, etc.). Besides avoiding recomputations, we also avoid resending to the devices unmodified data arrays, thus reducing bandwidth usage. For OptiX and Embree, BVH packing was also multithreaded. The performance improvements may vary depending on the used device (CPU or GPU), and the content of the scene. Simple scenes (e.g. with no adaptive subdivision or volumes) rendered using OptiX will benefit from this work the most. On average, for a variety of animated scenes, this gives a 3x speedup. Reviewed By: #cycles, brecht Maniphest Tasks: T79174 Differential Revision: https://developer.blender.org/D9555
2021-01-22Merge branch 'blender-v2.92-release'Sergey Sharybin
2021-01-22Cycles: Fix usage of double floating precision in CNanoVDBSergey Sharybin
Double floating point precision is an extension of OpenCL, which might not be implemented by certain drivers, such as Intel Xe graphics. Cycles does not use double floating point precision, and there is no need on keeping doubles unless there is an explicit decision to use them. This is a simple fix from Cycles side to replace double floating point type with a type of same size and alignment rules. Inspired by Brecht and Patrick. Tested on NVidia Titan V, Radeon RX Vega M, and TGL laptop. Differential Revision: https://developer.blender.org/D10143
2021-01-21Merge branch 'blender-v2.92-release'Falk David
2021-01-21Fix T83344: Cycles baking + progressive refine failsBrecht Van Lommel
2021-01-21Merge branch 'blender-v2.92-release'Brecht Van Lommel
2021-01-21Fix T84908: Cycles GPU + CPU and denoising failure after recent fixBrecht Van Lommel
2021-01-20Merge branch 'blender-v2.92-release'Brecht Van Lommel
2021-01-20Fix T82966, T78152: Cycles GPU render hair ribbon artifacts and differencesBrecht Van Lommel
Now it should match CPU rendering much more closely.
2021-01-20Merge branch 'blender-v2.92-release'Sebastian Parborg
2021-01-20Fix T84872: OptiX GPU + CPU rendering uses branched path samplesBrecht Van Lommel
Branched path tracing is not supported for OptiX, and it would still use the number of AA samples from there when branched path was enabled by the user earlier but auto disabled and hidden in the UI when using OptiX. Ref D10159
2021-01-20Fix T84813: enabling Cycles OpenImageDenoise during GPU viewport render failsBrecht Van Lommel
2021-01-20Merge branch 'blender-v2.92-release'Patrick Mours
2021-01-20Fix T84049: Crash when using Cycles Progressive Refine with OptiX+CPUPatrick Mours
Tile stealing may steal a CPU tile buffer and move it to the GPU, but next time around that tile may be re-used on the CPU again (in progressive refinement mode). The buffer would still be on the GPU then though, so is inaccessible to the CPU. As a result Blender crashed when the CPU tried to write results to that tile buffer. This fixes that by ensuring a stolen tile buffer is moved back to the device it is used on before rendering.
2021-01-20Cleanup: remove extra in trailing asteriskCampbell Barton
Comment blocks not conforming to convention.
2021-01-20Merge branch 'blender-v2.92-release'Campbell Barton
2021-01-20CMake: add missing headersCampbell Barton
Resolves 'cmake_consistency_check' reports.
2021-01-18Merge branch 'blender-v2.92-release'Sergey Sharybin
2021-01-18Cycles: Fix missing OpenCL extensions in certain casesSergey Sharybin
If extensions string is longer than 1024 then the old code would have reported empty string instead of extensions. Now the code does dynamic string allocation to store result of request, similar to what is done in `OpenCLInfo::get_hardware_id`. The code looks a bit ugly, but it didn't really change much with this patch. In other words, the code can become more modern and clear, but it is considered to be outside of the scope of this change. Differential Revision: https://developer.blender.org/D10135
2021-01-18Merge branch 'blender-v2.92-release'Patrick Mours
2021-01-18Fix T84650: CPU render + OptiX denoiser leaves empty tiles unprocessedPatrick Mours
The OptiX denoiser is part of the OptiX device, so to the tile manager looks like a GPU device. As a result the tile stealing implementation erroneously stole CPU tiles and moved them to that OptiX device, even though in this configuration the OptiX device was only set up for denoising and not rendering. Launching the render kernel therefore caused a crash because of a missing AS etc. This fixes that by ensuring tiles can only be stolen by devices that support render tiles.
2021-01-15Fix T84645 cursor moves when clicking selector.Nicholas Rishel
The absolute position desktop mapping has been corrected. The correct mapping is 0-65535 inclusive. Additionally, division by the virtual desktop width and height needed to be subtracted by 1 as width and height are one more than the final pixel index.
2021-01-15Merge branch 'blender-v2.92-release'Hans Goudey
2021-01-15Fix T84745: build error with TBB 2021Brecht Van Lommel
task_group::is_canceling() was removed.
2021-01-15Fix Cycles build error with OSL 1.12Piotr Barejko
Differential Revision: https://developer.blender.org/D10118
2021-01-15Use mmap() IO for reading uncompressed .blendsLukas Stockner
Instead of submitting tons of tiny IO syscalls, we can speed things up significantly by `mmap`ing the .blend file into virtual memory and directly accessing it. In my local testing, this speeds up loading the Dweebs file with all its linked files from 19sec to 10sec (on Linux). As far as I can see, this should be supported on Linux, OSX and BSD. For Windows, a second code path uses `CreateFileMapping` and `MapViewOfFile` to achieve the same result. Reviewed By: mont29, brecht Differential Revision: https://developer.blender.org/D8246
2021-01-14Fix automated tests when building with GCC and march=nativeSebastian Parborg
When building with more aggressive optimization flags, GCC will add FMA (Fused Multiply Add) instructions that will slightly alter the floating point operation results. This causes some automated tests to fail in blender. In clang and the intel compiler ffp-contract is set to off per default it seems from my research. (They do not have the exact same setting, but the default seems to match the off behavior) Reviewed By: Brecht Differential Revision: http://developer.blender.org/D9047
2021-01-14Fix automated tests when building with GCC and march=nativeSebastian Parborg
When building with more aggressive optimization flags, GCC will add FMA (Fused Multiply Add) instructions that will slightly alter the floating point operation results. This causes some automated tests to fail in blender. In clang and the intel compiler ffp-contract is set to off per default it seems from my research. (They do not have the exact same setting, but the default seems to match the off behavior) Reviewed By: Brecht Differential Revision: http://developer.blender.org/D9047
2021-01-14Fix T84645 cursor moves when clicking selector.Nicholas Rishel
The absolute position desktop mapping has been corrected. The correct mapping is 0-65535 inclusive. Additionally, division by the virtual desktop width and height needed to be subtracted by 1 as width and height are one more than the final pixel index.
2021-01-13UI: Revert design changes to data-block selector for the 2.92 releaseJulian Eisel
Partially reverts 2250b5cefee7. Removing the user count and fake user count icons was controversial (which was expected) and there are a few further changes needed, that won't make it in time for the release, see D9946. While there is a design to bring back the user count and fake user indicators, a new design idea was proposed that the UI team wants to follow. This came too late for the 2.92 release, the new design is targeted at the 2.93 release now. Meanwhile, UI team decision was to simply revert the design changes. The new design is being worked on in https://developer.blender.org/T84669. Note that this commit does not revert some internal changes done in 2250b5cefee7. Namely the introduction of `ed_util_ops.c` and data-block operators in there. These will still be needed in the new design.
2021-01-13Fix Cycles not taking into account CYCLES_SHADER_PATH for finding stdcycles.hBrecht Van Lommel
Contributed by howetuft. Differential Revision: https://developer.blender.org/D9973
2021-01-11Fix T82351: Cycles: Tile stealing glitches with adaptive samplingLukas Stockner
In my testing this works, but it requires me to remove the min(start_sample...) part in the adaptive sampling kernel, and I assume there's a reason why it was there? Reviewed By: brecht Maniphest Tasks: T82351 Differential Revision: https://developer.blender.org/D9445
2021-01-11Fix T84496: Cycles: Tile stealing does not work with NLMLukas Stockner
Reviewed By: brecht Maniphest Tasks: T84496 Differential Revision: https://developer.blender.org/D10066
2021-01-11Fix T81211 Add high frequency mouse input for Windows.Nicholas Rishel
Also send mouse move event instead of moving cursor via SetCursorPos. SetCursorPos did not reliably move the mouse when it is leaving the window quickly. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9981
2021-01-11Fix T83544: Cycles crash when rendering with Save Buffers enabledJacques Lucke
The issue is that the "Noisy Image" pass is added even though it should not. `use_denoising` has to be enabled on the scene and on the view layer to actually enable it. Differential Revision: https://developer.blender.org/D10048 Reviewers: lukasstockner97, brecht
2021-01-11Fix T84501: Wintab button lag.Nicholas Rishel
Multiple Wintab tablets do not send relative button state when configured to do so. This causes button events to be delayed until processed as Win32 button events. This commit fixes the issue by configuring Wintab to use absolute button state and tracking changes manually.
2021-01-10Fix T83777: Crash when enabling guidesSebastián Barschkis
Also adjusted adjusted guiding UI parameters so that guiding will not get invalidated when changing domain values.
2021-01-08Fix Cycles rendering with OptiX after instance limit increase when building ↵Patrick Mours
with old SDK Commit d259e7dcfbbd37cec5a45fdfb554f24de10d0268 increased the instance limit, but only provided a fall back for the host code for older OptiX SDKs, not for kernel code. This caused a mismatch when an old SDK was used (as is currently the case on buildbot) and subsequent rendering artifacts. This fixes that by moving the bit that is checked to a common location that works with both old an new SDK versions.
2021-01-07Cycles: Increase instance limit for OptiX acceleration structure buildingPatrick Mours
For a while now OptiX had support for 28-bits of instance IDs, instead of the initial 24-bits (see also value reported by OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE_ID). This change makes use of that and also adds an error reported when the number of instances an OptiX acceleration structure is created with goes beyond the limit, to make this clear instead of just rendering an image with artifacts. Manifest Tasks: T81431
2021-01-05Fix T83925: Crash when rendering on the CPU with OptiX denoiser enabledPatrick Mours
Rendering on the CPU uses the Embree BVH layout, whether the OptiX denoiser is enabled or not. This means the "build_bvh" function gets a "BVHEmbree" object to fill and not a "BVHMulti" as it was assuming before, which caused crashes due to memory geting overwritten incorrectly. This fixes that by redirecting Embree BVH builds to the Embree device. Manifest Tasks: T83925
2021-01-05Fix T83915: Subdivision Surface modifier causes visual artifacts in Cycles ↵Patrick Mours
rendered viewport - CPU and OptiX Changing the geometry in the current scene caused the primitive offsets for all geometry to change, but the values would not be updated in all bottom-level BVH structures. Rendering artifacts and crashes where the result. This fixes that by ensuring all BVH structures are updated when the primitive offsets change.
2021-01-05Cleanup: remove UNUSED(..) from public function declarationsCampbell Barton
This doesn't serve any purpose and can become out of sync with the function it's self without reporting warnings.
2021-01-04Cleanup: clang-formatCampbell Barton
2020-12-29Fix T84144 cursor wrap broken for Windows.Nicholas Rishel
Modifies WM_BUTTON processing to reuse existing mousemove logic. Fixes case where cursor wrap was not being handled on mouse release. Bonus: flattened mouse move logic so all paths lead to a single return. Removed case where wrap is not handled until subsequent mousemove as button press may rely on updated mouse move position.
2020-12-26Fix unreported: Cycles CLI device override doesn't set peer memory usage flagLukas Stockner
Reviewed By: brecht Differential Revision: https://developer.blender.org/D9929
2020-12-25Simplification of Wintab event handling.Nicholas Rishel
Previously Wintab packets were added to a local queue to be processed during Win32 mouse events, in order to correlate Wintab to Win32 mouse buttons. Wintab packets before Win32 mouse down events were expired on a timer. This commit drives mouse events during Wintab events when a device is in range. When a Wintab button is found it is dispatched if an equivalent event can be popped from the Win32 event queue. If a Win32 mouse button event is not associated with a Wintab event, it falls through to WM_BUTTON handling. All Wintab packets are handled as they are received. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9908
2020-12-24Cleanup: Fix capitalization in various UI stringsYevgeny Makarov
Approximately 195 changes of capitalization to conform to MLA title style. UI labels and property names should use MLA title case, while descriptions should be capitalized like regular prose, generally with only the start of a sentence capitalized. Differential Revision: https://developer.blender.org/D9922
2020-12-24Cleanup: compiler warningBrecht Van Lommel