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-09-29Fix Cycles CPU performance regression after recent change for intersections sizeBrecht Van Lommel
This struct is much bigger now, and does not actually need to be fully zero initialized.
2021-09-29Fix non-finite curve normal causing Cycles to crashSergey Sharybin
Similar to the previous change in the area: need to avoid ray point and direction becoming a non-finite value. Use the view direction when the geometrical normal can not be calculated. Collaboration and sanity inspiration with Brecht! Differential Revision: https://developer.blender.org/D12703
2021-09-29Fix Cycles use of uninitialized value in volume stack intersection on CPUBrecht Van Lommel
Could cause an actual bug but probability is low in practice.
2021-09-29Cycles: record large number of transparent shadow intersections on CPUBrecht Van Lommel
So we can do fewer intersection calls, only on the GPU do we need to save memory and do this in small steps. Ref T87836
2021-09-29Fix Cycles crash in certain hair configurationsSergey Sharybin
The issue was caused by hair shader setup setting normal to a non finite value, which then gets used to create a ray with non-finite direction, making BVH traversal to run out of stack memory. Happens with 150_0040_A.lighting.blend frame 112 of the Sprites project. Differential Revision: https://developer.blender.org/D12692
2021-09-29Cycles: Ensure finite displacement and background evaluationSergey Sharybin
Avoids possible numerical issues in the path tracing kernel, which is most important for displacement as non-finite values in BVH can lead to infinite node recursion during traversal. Differential Revision: https://developer.blender.org/D12690
2021-09-29Cycles: Make sure GPU transfer is finished prior display updateSergey Sharybin
Noticed while looking into flickering issues in viewport. Doesn't seem to solve the flicker issue for me, but is something what is supposed to be happening anyway. Differential Revision: https://developer.blender.org/D12673
2021-09-29Cleanup: trailing space, newlines at EOFCampbell Barton
2021-09-29Cleanup: spelling in commentsCampbell Barton
2021-09-28Fix build without Cycles HIP deviceBrecht Van Lommel
2021-09-28Cycles: add HIP device support for AMD GPUsBrian Savery
NOTE: this feature is not ready for user testing, and not yet enabled in daily builds. It is being merged now for easier collaboration on development. HIP is a heterogenous compute interface allowing C++ code to be executed on GPUs similar to CUDA. It is intended to bring back AMD GPU rendering support on Windows and Linux. https://github.com/ROCm-Developer-Tools/HIP. As of the time of writing, it should compile and run on Linux with existing HIP compilers and driver runtimes. Publicly available compilers and drivers for Windows will come later. See task T91571 for more details on the current status and work remaining to be done. Credits: Sayak Biswas (AMD) Arya Rafii (AMD) Brian Savery (AMD) Differential Revision: https://developer.blender.org/D12578
2021-09-28Fix wrong update with shadow catcher and transparent filmSergey Sharybin
This change fixes an issue when scene has a shadow catcher and film is configured to be transparent. Starting viewport render and making the background non-transparent will cause bad memory access (wrong render and possibly crash). Film passes depends on transparency of background, so check for this. Demo file: F10650585 Differential Revision: https://developer.blender.org/D12666
2021-09-28Cycles: Disable tile-level denoisingSergey Sharybin
Only do denoising on the full-frame result. Saves render time. Can re-consider in the future when/if we'll want to support denoising during rendering (similar to viewport) to allow artists to stop rendering when they see image to be good enough. Until there is a design for that workflow stick to a more time efficient rendering. Differential Revision: https://developer.blender.org/D12662
2021-09-28Cycles: Improve handling of tile file errorSergey Sharybin
Expose them to the interface, and stop rendering as soon as possible. Differential Revision: https://developer.blender.org/D12617
2021-09-27Fix part of T91516: Cycles not rendering geometry nodes instancesBrecht Van Lommel
Part of the fix is by Jacques. This fixes the most obvious case, but it's still not clear how to deal with non-mesh geometry instances or how to handle motion blur for such instances.
2021-09-27Cleanup: fix (harmless) uninitialized variable usageBrecht Van Lommel
2021-09-27Fix T91728: Cycles render artifacts with motion blur and object attributesBrecht Van Lommel
2021-09-27Cycles: Rework OptiX visibility flags handlingPatrick Mours
Before the visibility test against the visibility flags was performed in an any-hit program in OptiX (called `__anyhit__kernel_optix_visibility_test`), which was using the `__prim_visibility` array. This is not entirely correct however, since `__prim_visibility` is filled with the merged visibility flags of all objects that reference that primitive, so if one object uses different visibility flags than another object, but they both are instances of the same geometry, they would appear the same way. The reason that the any-hit program was used rather than the OptiX instance visibility mask is that the latter is currently limited to 8 bits only, which is not sufficient to contain all Cycles visibility flags (12 bits). To mostly fix the problem with multiple instances and different visibility flags, I changed things to use the OptiX instance visibility mask for a subset of the Cycles visibility flags (`PATH_RAY_CAMERA` to `PATH_RAY_VOLUME_SCATTER`, which fit into 8 bits) and only fall back to the visibility test any-hit program if that isn't enough (e.g. the ray visibility mask exceeds 8 bits or when using the built-in curves from OptiX, since the any-hit program is then also used to skip the curve endcaps). This may also improve performance in some cases, since by default OptiX can now perform the normal scene intersection trace calls entirely on RT cores without having to jump back to the SM on every hit to execute the any-hit program. Fixes T89801 Differential Revision: https://developer.blender.org/D12604
2021-09-27Cycles: print name of kernels on errors in CUDA queue, for debuggingBrecht Van Lommel
2021-09-27Fix T91714: Cycles direct/indirect clamp distinction not working correctlyBrecht Van Lommel
2021-09-27Cleanup: spelling in commentsCampbell Barton
2021-09-27Cleanup: make formatDalai Felinto
2021-09-27Fixes T91632 by stopping the sample correlation between dimensions which was ↵William Leeson
causing rendering artifacts on simple scenes. Fix T91632: Stops the sample correlation between dimensions which was causing rendering artefacts on simple scenes. This is done by increasing the amount of jitter the Cranley Patterson Rotation is allowed to add. Also, it uses the y dimension of the of the sample table for 1D sampling which causes further decorrelation between dimensions. As an additional measure the x and y dimensions are swapped randomly to provide further decorrelation. Maniphest Tasks: T91632 Differential Revision: https://developer.blender.org/D12610
2021-09-25Cleanup: typos in code and comments.Kévin Dietrich
No functional changes.
2021-09-24Fix T91639: Cycles crash rendering high resolution images with multiple passesBrecht Van Lommel
We were writing large 2048x2048 tiles into EXR files, which appears to cause integer overflow inside the OpenEXR library when there are multiple passes. Now use smaller tiles in the image file, while still rendering large tiles. This adds the requirement that the render tile size must be a multiple of 128 or be smaller than 128, this is adjusted automatically.
2021-09-24Fix Cycles memory leak in baking, after recent changesBrecht Van Lommel
2021-09-24Fix T91660: Cycles remaining render time does not take into account time limitBrecht Van Lommel
2021-09-24Cycles: some steps towards getting standalone compiling againBrecht Van Lommel
Render output and display still need to be rewritten to work with the new system.
2021-09-24Cleanup: remove unused device code and includesBrecht Van Lommel
2021-09-24Cleanup: clang formatPhilipp Oeser
2021-09-24Hair Info Length AttributeJeroen Bakker
Goal is to add the length attribute to the Hair Info node, for better control over color gradients or similar along the hair. Reviewed By: #eevee_viewport, brecht Differential Revision: https://developer.blender.org/D10481
2021-09-24Cleanup: spelling in commentsCampbell Barton
2021-09-23Fix T91626: Cycles sss behind fully transparent object renders differentlyBrecht Van Lommel
2021-09-23Cycles: improve Auto Tile option descriptionBrecht Van Lommel
Ref T91645
2021-09-23Fix T91641: crash rendering with 16k environment map in CyclesBrecht Van Lommel
Protect against integer overflow.
2021-09-23Fix Cycles compiler warning on GCC 11Brecht Van Lommel
For shadow rays there are no closures, leave out the closure merging code there to avoid warnings about accessing closure memory that does not exist.
2021-09-23Cleanup: spelling in commentsCampbell Barton
2021-09-23Fix last Cycles tile highlighted while file from disk is being processedSergey Sharybin
2021-09-23Cleanup: spelling in commentsCampbell Barton
2021-09-22Fix T91608: Cycles crash with tile size 0Brecht Van Lommel
2021-09-22Fix T91598: Decreasing sample count causes viewport to resetSergey Sharybin
Differential Revision: https://developer.blender.org/D12601
2021-09-22Fix T91592: Negative Cycles remaining render timeSergey Sharybin
For the default startup was showing -14:-08.-48 as a remaining time. Was an integer overflow when specifying total number of pixel-samples.
2021-09-22Fix T91603: Cycles crash when volume becomes visibleSergey Sharybin
Making object which uses volume shader invisible will mark the shader as not having a volume, forcing re-compilation of the shader to bring it back to a consistent state. The compilation is happening as part of scene update, which needs to know kernel features. So there is a feedback loop. Use more relaxed way of knowing whether there is a volume in the shader for the kernel features, which doesn't require shader to be compiled first. Solves issues from the report, but potentially causes extra memory allocated if the volume part of graph is fully optimized out. This downside is solvable, but would need to split scene update into two steps (the one which requires on kernel, and the one which does not). It will be an interesting project to tackle, but for a bug fix is better to use simpler solution.
2021-09-22Fix T91576: Cycles attribute node with name N for smooth normal no longer ↵Brecht Van Lommel
working There was an optimization to remove duplicate storage of normals as attributes when using normal maps. However for named attributes like this we still need to store the attribute. Don't request normal attribute from the normal map node now, instead of skipping it in the geometry code.
2021-09-22Fix T91590: Cycles specular baking not using smooth normalBrecht Van Lommel
2021-09-22Fix T91600: Cycles viewport not updaing on metaball changesBrecht Van Lommel
2021-09-22Fix T91597: Cycles volume scatter visibility on lights not workingBrecht Van Lommel
2021-09-22Fix missing samples count pass when using tilesSergey Sharybin
Samples count pass is normalized to the overall number of samples. This means that we need to store actual value of the samples in the tile buffer file. A bit annoying to pull all those settings to BufferParams and need to find a more generic solution, but for now this is easiest and a quickest solution. Differential Revision: https://developer.blender.org/D12597
2021-09-22Fix bad image drawing during rendering on certain GPUsSergey Sharybin
Reported by Thomas DInges: the default cube render in Cycles has jagged edges during rendering. Happens on AMD Radeon RX 5500 XT. Force linear interpolation at zoom level 1 and less. Reviewed by @fclem
2021-09-22Cleanup: spelling in commentsCampbell Barton