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
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-20CMake: add missing headersCampbell Barton
Resolves 'cmake_consistency_check' reports.
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-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 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-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-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 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-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-04Cleanup: clang-formatCampbell Barton
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-24Cleanup: compiler warningBrecht Van Lommel
2020-12-24Cycles: remove surface area computation for meshes with OSLBrecht Van Lommel
This is relatively expensive and as per the OSL spec, this value is not expected to be meaningful for non-light shaders. This makes viewport updates a little faster. As a side effect also fixes T82723, viewport refresh issue with volume density.
2020-12-24Fix T84016: Cycles baking crash with OptiX after recent changesBrecht Van Lommel
This worked for CPU + GPU, but not GPU only.
2020-12-24Bake: vertex color baking support for CyclesBrecht Van Lommel
In the Bake > Output panel, there is now a choice between Image Textures and Vertex Colors. The active vertex color layer is used for baking. This works with both existing per-corner and sculpt per-vertex vertex colors.
2020-12-23Fix T84063: crash reading pointer properties in Attribute shader nodeBrecht Van Lommel
Path resolving can find e.g. a datablock rather than a float or integer, treat that as a failure to find a valid property.
2020-12-22Fix Cycles OptiX runtime compilation broken after shader raytracingBrecht Van Lommel
Need to pass the appropriate flags as we do for compilation as part of the CMake build.
2020-12-22Fix T84006: Cycles AOV not written with some mix shader node set upsBrecht Van Lommel
2020-12-21UI: make light spot shape panel consistent between Cycles and EeveeMatteo Falduto
Differential Revision: https://developer.blender.org/D9906
2020-12-18UI: Redesigned data-block selectorsJulian Eisel
The previous design is rather old and has a couple of problems: * Scalability: The current solution of adding little icon buttons next to the data-block name field doesn't scale well. It only works if there's a small number of operations. We need to be able to place more items there for better data-block management. Especially with the introduction of library overrides. * Discoverability: It's not obvious what some of the icons do. They appear and disappear, but it's not obvious why some are available at times and others not. * Unclear Status: Currently their library status (linked, indirectly linked, broken link, library override) isn't really clear. * Unusual behavior: Some of the icon buttons allow Shift or Ctrl clicking to invoke alternative behaviors. This is not a usual pattern in Blender. This patch does the following changes: * Adds a menu to the right of the name button to access all kinds of operations (create, delete, unlink, user management, library overrides, etc). * Make good use of the "disabled hint" for tooltips, to explain why buttons are disabled. The UI team wants to establish this as a good practise. * Use superimposed icons for duplicate and unlink, rather than extra buttons (uses less space, looks less distracting and is a nice + consistent design language). * Remove fake user and user count button, they are available from the menu now. * Support tooltips for superimposed icons (committed mouse hover feedback to master already). * Slightly increase size of the name button - it was already a bit small before, and the move from real buttons to superimposed icons reduces usable space for the name itself. * More clearly differentiate between duplicate and creating a new data-block. The latter is only available in the menu. * Display library status icon on the left (linked, missing library, overridden, asset) * Disables "Make Single User" button - in review we weren't sure if there are good use-cases for it, so better to see if we can remove it. Note that I do expect some aspects of this design to change still. I think some changes are problematic, but others disagreed. I will open a feedback thread on devtalk to see what others think. Differential Revision: https://developer.blender.org/D8554 Reviewed by: Bastien Montagne Design discussed and agreed on with the UI team, also see T79959.
2020-12-15Cleanup: make formatJacques Lucke
2020-12-15Cleanup: spellingCampbell Barton
2020-12-14Fix T75539: Cycles missing geometry update when switching displacement methodJoan Bonet Orantos
The shaders were not tagged for a needed geometry update when the displacement method was modified, neither were the Geometry and Object managers. Reviewed By: kevindietrich Maniphest Tasks: T75539 Differential Revision: https://developer.blender.org/D8896
2020-12-11Fix T83586: Cycles failing to load OpenEXR image with EXR RGBAZ channelsValdemar Lindberg
Don't refuse to load 5-channel images, instead drop any channels after the 4th and hope that the first channels represent RGBA. Differential Revision: https://developer.blender.org/D9820
2020-12-11Cycles: enable OpenCL rendering on recent Intel GPUsSergey Sharybin
Based on testing by Intel, rendering on Iris GPUs and upcoming Xe GPUs should work. This is enabled on Windows and Linux. More testing is needed to verify correctness and performance in production scenes, but our basic benchmark files seem to give correct results.
2020-12-11Cleanup: compiler warningsBrecht Van Lommel
If you mark one function as override in a class, all must be marked.
2020-12-11Cycles: Add CPU+GPU rendering support with OptiXPatrick Mours
Adds support for building multiple BVH types in order to support using both CPU and OptiX devices for rendering simultaneously. Primitive packing for Embree and OptiX is now standalone, so it only needs to be run once and can be shared between the two. Additionally, BVH building was made a device call, so that each device backend can decide how to perform the building. The multi-device for instance creates a special multi-BVH that holds references to several sub-BVHs, one for each sub-device. Reviewed By: brecht, kevindietrich Differential Revision: https://developer.blender.org/D9718
2020-12-10Fix T82852: Cycles crashes when editing a mesh with adaptive subdivisionKévin Dietrich
The issue is caused by stale data on the Mesh Node which is not cleared during synchronizing since the socket API refactor so that we can detect changes. However, synchronization only updates the sockets of the Mesh, so other properties were left with outdated values. This caused an underflow when computing attribute size for undisplaced coordinates as it was using the current number of vertices minus the previous count of subdivision vertices, which at this point should be 0. Added a simple method to clear non socket data. Also modified Mesh.add_undisplaced to always use an ATTR_PRIM_GEOMETRY as the data is not subdivided yet and it avoids any further issues regarding computing attribute sizes.
2020-12-09Fix T83581: "Only local" ambient occlusion option causes error on OptiX 2.92Patrick Mours
The SVM AO node calls "scene_intersect_local" with a NULL pointer for the intersection information, which caused a crash with OptiX since it was not checking for this case and always dereferencing this pointer. This fixes that by checking whether any hit information was requested first (like is done in the BVH2 intersection routines).
2020-12-08Cycles: Remove "OptiX support is experimental" noticePatrick Mours
OptiX support is not in fact experimental anymore, so it is time for that notice to go. All Cycles features that are currently supported on the GPU do work now when OptiX is selected.