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-12-07Cycles: add Metal device type to `device_type_for_description`Sybren A. Stüvel
Add a `DEVICE_METAL` case to the enum-value-to-string mapping function.
2021-12-07Cycles: fix build on non-Apple systemsSybren A. Stüvel
Skip compiling `metal.mm` unless `WITH_CYCLES_DEVICE_METAL` is enabled.
2021-12-07Cycles: Metal host-side codeMichael Jones
This patch adds the Metal host-side code: - Add all core host-side Metal backend files (device_impl, queue, etc) - Add MetalRT BVH setup files - Integrate with Cycles device enumeration code - Revive `path_source_replace_includes` in util/path (required for MSL compilation) This patch also includes a couple of small kernel-side fixes: - Add an implementation of `lgammaf` for Metal [Nemes, Gergő (2010), "New asymptotic expansion for the Gamma function", Archiv der Mathematik](https://users.renyi.hu/~gergonemes/) - include "work_stealing.h" inside the Metal context class because it accesses state now Ref T92212 Reviewed By: brecht Maniphest Tasks: T92212 Differential Revision: https://developer.blender.org/D13423
2021-12-06cmake: fix linking with WITH_X11_XF86VMODE and bfdAurelien Jarno
Fix typos in the variables of the Xxf86vm libray to fix link failure with bfd. These variables are defined in platform_unix.cmake. Reviewed By: zeddb Differential Revision: https://developer.blender.org/D12911
2021-12-02Merge branch 'blender-v3.0-release'Brecht Van Lommel
2021-12-02Fix T93560: crash with image paint undo and cycles preview renderBrecht Van Lommel
Cycles preview rendering could free the image buffers being used by drawing in another thread due to a race condition. This race condition was unlikely before, but now that preview renders are started right before we draw the image in the image editor or load it as a texture in the 3D viewport, it's likely to happen. As we are close to release this is too risky to fix properly, just avoid freeing the cache for preview renders instead and accept increased memory usage in some cases.
2021-12-02Fix T92308: OptiX denoising fails with high resolutionsPatrick Mours
The OptiX denoiser does have an upper limit as to how many pixels it can denoise at once, so this changes the OptiX denoising process to use tiles for high resolution images. The OptiX SDK does have an utility function for this purpose, so changes are minor, adjusting the configured tile size and including enough overlap. Maniphest Tasks: T92308 Differential Revision: https://developer.blender.org/D13436
2021-12-01Cleanup: compiler warningBrecht Van Lommel
2021-12-01Cycles: fix bugs in point and spot light multiple importance samplingSebastian Herholz
* Spot lights are now handled as disks aligned with the direction of the spotlight instead of view aligned disks. * Point light is now handled separately from the spot light, to fix a case where multiple lights are intersected in a row. Before the origin of the ray was the previously intersected light and not the origin of the initial ray traced from the last surface/volume interaction. This makes both strategies in multiple importance sampling converge to the same result. It changes the render results in some scenes, for example the junkshop scene where there are large point lights overlapping scene geometry and each other. Differential Revision: https://developer.blender.org/D13233
2021-12-01Fix some shortcut keys not working on macOS with Japanese inputYuki Hashimoto
Differential Revision: https://developer.blender.org/D13414
2021-11-30Cleanup: clang-format, trailing spaceCampbell Barton
2021-11-30Cleanup: remove blank lines in comment blocksCampbell Barton
2021-11-30Cleanup: capitalize NOTE tagCampbell Barton
2021-11-30Cleanup: spelling in comments & stringsCampbell Barton
2021-11-29Fix Cycles OptiX doing a bit too much work for almost opaque curve shadowsBrecht Van Lommel
Found in D13353, likely has no significant impact in performance.
2021-11-29Fix debug build error after recent Cycles kernel argument changesBrecht Van Lommel
2021-11-29Cycles: MetalRT support (kernel side)Michael Jones
This patch adds MetalRT support to Cycles kernel code. It is mostly additive in nature or confined to Metal-specific code, however there are a few areas where this interacts with other code: - MetalRT closely follows the Optix implementation, and in some cases (notably handling of transforms) it makes sense to extend Optix special-casing to MetalRT. For these generalisations we now have `__KERNEL_GPU_RAYTRACING__` instead of `__KERNEL_OPTIX__`. - MetalRT doesn't support primitive offsetting (as with `primitiveIndexOffset` in Optix), so we define and populate a new kernel texture, `__object_prim_offset`, containing per-object primitive / curve-segment offsets. This is referenced and applied in MetalRT intersection handlers. - Two new BVH layout enum values have been added: `BVH_LAYOUT_METAL` and `BVH_LAYOUT_MULTI_METAL_EMBREE` for XPU mode). Some host-side enum case handling has been updated where it is trivial to do so. Ref T92212 Reviewed By: brecht Maniphest Tasks: T92212 Differential Revision: https://developer.blender.org/D13353
2021-11-29Cycles: Metal readiness: Specify DeviceQueue::enqueue arg typesMichael Jones
This patch adds new arg-type parameters to `DeviceQueue::enqueue` and its overrides. This is in preparation for the Metal backend which needs this information for correct argument encoding. Ref T92212 Reviewed By: brecht Maniphest Tasks: T92212 Differential Revision: https://developer.blender.org/D13357
2021-11-28Cleanup: typos in comments.Kévin Dietrich
2021-11-26Cycles: Fix film convert address space mismatch on MetalMichael Jones
This patch fixes an address space mismatch in the film convert kernels on Metal. The `film_get_pass_pixel_...` functions take a `ccl_private` result pointer, but the film convert kernels pass a `ccl_global` memory pointer. Specialising the pass-fetch functions with templates results in compilation errors on Visual Studio, so instead this patch just adds an intermediate local on Metal. Reviewed By: brecht Differential Revision: https://developer.blender.org/D13350
2021-11-25Merge branch 'blender-v3.0-release'Brecht Van Lommel
2021-11-25Cycles: expose direct light sampling option in Debug panel, tweak panel layoutBrecht Van Lommel
2021-11-25Fix build error with experimental features after recent release cycle bumpBrecht Van Lommel
Hair, pointcloud and simulation datablock types should be disabled in the beta cycles already like other experimental features.
2021-11-25Merge remote-tracking branch 'origin/blender-v3.0-release'Sergey Sharybin
2021-11-25Fix T93155: Approximate shadow catcher displayed wrong on CPU and GPUSergey Sharybin
Was happening during rendering, causing visual artifacts when doing CPU+GPU rendering, and giving different in-progress results on different devices. The root of the issue comes to the fact that math used in the approximate shadow catcher calculation might have resulted in negative alpha channel, and negative values for display are handled differently on CPU and GPU. Such difference in handling is caused by an approximate conversion used on the CPU for the performance reasons. This change makes it so no negative alpha is generated by the approximate shadow catcher. Not sure if we need some explicit clamping somewhere to deal with possible negative values coming from somewhere else. The shadow catcher cornell box tests are to be updated for the new code, but the new result seems to be more accurate. Differential Revision: https://developer.blender.org/D13354
2021-11-25Merge branch 'blender-v3.0-release'Sergey Sharybin
2021-11-25Fix black Cycles result when cancelling tiled rendering with shadow catcherSergey Sharybin
Noticed when was looking into T93155. Steps to reproduce: - Open the .blend file from the report - Hit F12 to start rendering - After some tiles were rendered hit Esc The issue is caused by "sticky" cancel reported via Progress. This means that once user hit Esc all further requests for cancel state will return truth, which was preventing OIDN denoiser from completing the denoising task. Now only allow stopping the denoiser when interactive rendering requests a very fast stopping. Aiming the fix for 3.0 branch. Differential Revision: https://developer.blender.org/D13352
2021-11-25Merge branch 'blender-v3.0-release' to bring in D13042:William Leeson
Fix performance decrease with Scrambling Distance on
2021-11-25Fix performance decrease with Scrambling Distance onAlaska
With the current code in master, scrambling distance is enabled on non-hardware accelerated ray tracing devices see a measurable performance decrease when compared scrambling distance on vs off. From testing, this performance decrease comes from the large tile sizes scheduled in `tile.cpp`. This patch attempts to address the performance decrease by using different algorithms to calculate the tile size for devices with hardware accelerated ray traversal and devices without. Large tile sizes for hardware accelerated devices and small tile sizes for others. Most of this code is based on proposals from @brecht and @leesonw Reviewed By: brecht, leesonw Differential Revision: https://developer.blender.org/D13042
2021-11-24Merge branch 'blender-v3.0-release'Hans Goudey
2021-11-24Cycles: Add support for building with OptiX 7.4 SDK and use built-in ↵Patrick Mours
catmull-rom curve type Some enum names were changed/removed in OptiX 7.4, so some changes are necessary to make things compile still. In addition, OptiX 7.4 also adds built-in support for catmull-rom curves, so it is no longer necessary to convert the catmull-rom data to cubic bsplines first, and has endcaps disabled by default now, so can remove the special handling via any-hit programs that filtered them out before. Differential Revision: https://developer.blender.org/D13351
2021-11-24Fix inconsistent UI terminology for tiling optionBrecht Van Lommel
Was meant to be Use instead of Using.
2021-11-24Merge branch 'blender-v3.0-release'Nicholas Rishel
2021-11-24Add tablet data to Wintab fallback cursor movement.Nicholas Rishel
2021-11-23Merge branch 'blender-v3.0-release'Sergey Sharybin
2021-11-23Cycles: Fix possible access to non-initialized light sample in volumeSergey Sharybin
Happened in barbershop file where number of bounces to the light was reached. Differential Revision: https://developer.blender.org/D13336
2021-11-23Merge branch 'blender-v3.0-release'Brecht Van Lommel
2021-11-23Fix T93109: Cycles HIP missing check for correct driver versionSayak Biswas
21.Q4 is required, older version should not show devices in the preferences. This adds a check for the file version of amdhip64.dll file during hipew initialization. Differential Revision: https://developer.blender.org/D13324
2021-11-23Merge branch 'blender-v3.0-release'Sergey Sharybin
2021-11-23Fix compilation warnings when building without OpenImageDenoiserSergey Sharybin
Reported by Sybren, thanks!
2021-11-23Cleanup: Use new CollectionRef::empty() methodJesse Yurkovich
Use the new CollectionRef::empty() method in all locations where appropriate. Differential Revision: https://developer.blender.org/D13276
2021-11-23Merge branch 'blender-v3.0-release'Brecht Van Lommel
2021-11-23Fix T93244: Cycles HIP not working with multi GPU renderingSayak Biswas
Use the correct device function (hipDeviceGet) for multi GPU setups, instead of hipGetDevice which just returns the default device. Differential Revision: https://developer.blender.org/D13323
2021-11-22Merge branch 'blender-v3.0-release'Brecht Van Lommel
2021-11-22Fix T93283: Cycles render error with CUDA CPU + GPU after recent optimizationBrecht Van Lommel
BVH2 triangle intersection was broken on the GPU since packed floats can't be loaded directly into SSE. The better long term solution for performance would be to build a BVH2 for GPU and Embree for CPU, similar to what we do for OptiX.
2021-11-22Fix part of T93278: transparent glass option not working with environment passBrecht Van Lommel
2021-11-22IME: Fix Multi-Window Duplicated First CharacterTakahiro Shizuki
Fix problem with duplicated initial character when initiating or switching to new windows. This is done by updating our copies of state and modes from the new window when it receives WM_IME_SETCONTEXT message. This problem and fix are only for the Windows platform.
2021-11-22Fix confusing new Cycles UI terminologyBrecht Van Lommel
* Rename "Auto Tiles" to "Use Tiling", it's not really automatic and confusing with the old auto tile size add-on. * Rename "Adaptive" scrambling distance to "Automatic", to avoid confusion with adaptive sampling.
2021-11-22IME: Fix Multi-Window Duplicated First CharacterTakahiro Shizuki
Fix problem with duplicated initial character when initiating or switching to new windows. This is done by updating our copies of state and modes from the new window when it receives WM_IME_SETCONTEXT message. This problem and fix are only for the Windows platform.
2021-11-22Fix confusing new Cycles UI terminologyBrecht Van Lommel
* Rename "Auto Tiles" to "Use Tiling", it's not really automatic and confusing with the old auto tile size add-on. * Rename "Adaptive" scrambling distance to "Automatic", to avoid confusion with adaptive sampling.