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
2017-07-12Cycles: Enable SSS from Principled BSDF only when actually in useMai Lavelle
This gives speed up for the split kernel in scenes using the principled BSDF but without subsurface scattering.
2017-07-12Cycles: Fix comparison in principled BSDFMai Lavelle
Could have lead to black pixels.
2017-07-11Fix T52027: OSL getattribute() crash, when optimizer calls it before rendering.Brecht Van Lommel
2017-07-11Cycles: Disable OpenCL clFlush workaroundsSergey Sharybin
This is something which was reported to work fine by Mai, Benjamin and confirmed by myself. Disabling this workaround gains us some speedup: Before Now bmw27 04:28.42 04:07.79 classroom 09:26.48 08:54.53 fishy_cat 08:44.01 08:18.70 koro 09:17.98 08:57.18 pavillon_barcelone 12:26.64 11:52.81 Test environment is: - Ubuntu 16.04, with all updates installed - AMD RX 480 GPU - amdgpu pro driver version 17.10-450821
2017-07-11Opensubdiv: Fix compilation error with older Opensubdiv versionsSergey Sharybin
2017-07-08Fix T51959: Windows + Intel GPU offset between UI drawing and mouse.Brecht Van Lommel
Unfortunately this means disabling the code that ensures the title bar is properly scaled with DPI, however better to have that as a cosmetic issue than Blender being unusable with a lot of Intel GPUs.
2017-07-08Fix T51967: OSL crash after rendering finished (mainly on Windows).Brecht Van Lommel
2017-07-07Cycles: Fix ambiguity in call of min() functionSergey Sharybin
2017-07-07Fix T51980: Motion Tracking - png image files appear in the Blender program ↵Sergey Sharybin
directory when using refine Residue of debug code remained form some older bug fix.
2017-07-06Cycles: Add artificial memory limit debug option for OpenCLMai Lavelle
2017-07-06Revert "Cycles: use std::min and max for extra overloads"Mai Lavelle
We already have this in util_algorithm.h This reverts commit cff172c7621d89773baa99a9460f19056efb5f1e.
2017-07-06Cycles: Dont allow global size to fall to zeroMai Lavelle
2017-07-06Cycles: Detect out of memory before buffer allocation in OpenCL devicesMai Lavelle
2017-07-06Cycles: use std::min and max for extra overloadsMai Lavelle
2017-07-05Cycles: Fix compilation error after recent logging changesSergey Sharybin
This file uses std::ostream for helper << operators, so need to make sure corresponding header is included.
2017-07-05Cycles: Pass string by const reference rather than by valueSergey Sharybin
Some of the functions might have been inlined, but others i don't see how that was possible (don't think virtual functions can be inlined here). In any case, better be explicitly optimal in the code.
2017-07-05Cycles: Fix compilation error when building without Glog and no C++11Sergey Sharybin
2017-07-03Fix T51950: Abnormally long Cycles OpenCL GPU render times with certain ↵Lukas Stockner
panoramic camera settings The problem here was that when a "invalid" path is generated by the panoramic camera, it was tagged as RAY_TO_REGENERATE with the intention of generating a new path in kernel_buffer_update. However, since that state was not handled in kernel_queue_enqueue, kernel_buffer_update did not process the path which resulted in an infinite loop.
2017-07-03Cycles: Add missing split kernel to CPUDeviceLukas Stockner
2017-07-03Fix missing return error introduced by last commitLuca Rood
End of non-void function was being reached since f5535fcb83fd7c1374697923b43565c9e303d225
2017-07-03Fi T51023: MixRGB constant folding not effective with clamp option.Brecht Van Lommel
2017-07-03Fix T51855: Cycles emssive objects with NaN transform break lighting.Brecht Van Lommel
2017-07-02Fix T51759: fluid simulation particles not remoevd when colliding with ↵Lucas Veber
outflow objects. Reviewed By: brecht Differential Revision: https://developer.blender.org/D2719
2017-07-02Fix T51956: color noise with principled sss, radius 0 and branched path.Brecht Van Lommel
2017-07-02Fix principled BSDF incorrectly missing subsurface component with base color ↵Brecht Van Lommel
black.
2017-06-30Better fix for isfinite problem - works in older gcc's too.Howard Trickey
Previous fix relying on __cplusplus value didn't fix for older gcc's on linux, but this fix does.
2017-06-30Fix compile error after recent 9c2bbfb6 commit.Howard Trickey
Older C++ compilers use finite instead of isfinite.
2017-06-30Cycles: Use float constants instead of doubleMai Lavelle
2017-06-30Cycles: Disable baking in mega kernel when not in use to improve build timesMai Lavelle
2017-06-30Fix T50887: Holes in fluid mesh on WindowsCampbell Barton
D2556 by @chrisr
2017-06-28Fix T51909: Cycles: Uninitialized closure normals for the Hair BSDFLukas Stockner
As the title says, the normal wasn't set for the Hair BSDF because it wasn't needed before. However, the denoiser uses it to store the feature passes, so it needs to be set now.
2017-06-22Cycles: Fix excessive sampling weight of glossy Principled BSDF componentsLukas Stockner
If there was any specularity in the Principled BSDF, it would get a sampling weight of one regardless of its actual impact. This commit makes Cycles estimate the contribution of the component and adjust the weighting accordingly, which greatly improves the noise characteristics of the Principled BSDF in many cases. Note that this commit might slightly change the brightness of areas when using MultiGGX and high roughnesses, but the new brightness is more accurate and closer to the result of Branched Path Tracing. See T51836 for details. Differential Revision: https://developer.blender.org/D2677
2017-06-22Fix T51836: Cycles: Fix incorrect PDF approximations of the MultiGGX closuresLukas Stockner
The PDF of the MultiGGX sampling is approximated by the singlescattering GGX term as well as a scaled diffuse term that makes up for the energy in the multiscattering component that's missed by GGX. However, there were two problems with the glossy terms: The diffuse term missed a normalization factor, and the singlescattering term was not properly scaled down based on the albedo estimate. The glass term was completely wrong and has been rewritten. It uses the fresnel factor to weight reflection vs. refraction and uses the glossy MultiGGX model for reflection. For refraction, the correct singlescattering term is now used, and a new albedo approximation is used that was derived by evaluating GGX albedo for roughnesses from 0 to 1 and IORs from 1 to 3 and fitting numerical approximations to it. The resulting model has a mean relative error of 9e-5, but could probably be simplified without losing noticable accuracy in the final render. The improved PDFs help with glossy highlights (due to better light sampling vs. closure sampling MIS) and fix the situation described in T51836 where mixing MultiGGX with other closures (as it happens in e.g. the Principled BSDF) causes incorrect darkening.
2017-06-21Fix T51849: change Cycles clearcoat gloss to roughness.Brecht Van Lommel
This is compatible with UE4 and more consistent with specular and transmission roughness, even if it deviates from the original Disney BRDF.
2017-06-19Cleanup: doxygen commentsCampbell Barton
Also remove duplicate & mismatching comments from grease-pencil header. Keep comments close to implementation to avoid getting out of sync.
2017-06-17Guarded allocator: Fix type in macro definitionSergey Sharybin
The crash did not happen yet because we always had proper vmemh defined in the parent scope. Patch by Ivan Ivanov (aka obiwanus), thanks! Differential Revision: https://developer.blender.org/D2715
2017-06-16Cycles: Fix race condition happening in progress utilitySergey Sharybin
This is not enough to mutex-guard modification code of integer values, since this operation is NOT atomic. This is not even safe for a single byte data types. For now guarded the getter functions, similar to other functions in this module. Ideally we want to switch modification to an atomic operations, so we wouldn't need any locks in the getters.
2017-06-14Cycles: Fix typo in commentSergey Sharybin
2017-06-13Fix T51791: Point Density doesn't work on GPUHristo Gueorguiev
2017-06-13Cycles: Cleanup, indentationSergey Sharybin
2017-06-13Cycles: Fix compilation error of OpenCL mega kernelSergey Sharybin
Was some mismatch in address space. Seems to be caused by recent additions. Additionally, moved decoupled ray marching functions under ifdef, so they don't try to use malloc() functions. Thanks Mai for testing the patch!
2017-06-12Cleanup: indentation, long linesCampbell Barton
2017-06-12Cycles: adjust supported driver version for AMD GPUsHristo Gueorguiev
On Windows 17.Q1 and 17.Q2 return driver version 2236.10.
2017-06-11Cycles Denoising: Add more failsafes for invalid pixelsLukas Stockner
Now, when there is no usable neighboring pixel for denoising, the noisy value is preserved instead of producing a NaN. Also, negative results are clamped to zero. Note that there are just workarounds that don't fix the underlying problems, but these issues are very rare and I'm not sure if it's even possible to fix the underlying problems without introducing a significant slowdown or quality decrease in other situations. Because of that and since 2.79 is happening very soon, I just went for these workarounds for now.
2017-06-10Cycles: Selectively include denoising in kernelSergey Sharybin
2017-06-10Cycles: Pass all buffers to each kernel call for OpenCLMai Lavelle
Technically not passing all buffers used by a kernel is undefined behavior. We haven't had any issues with this so far on AMD or Nvidia, but it's known to be a problem with Intel and we received a report from AMD that this is a problem on newer hardware, so we need to make this change at some point. Unfortunately there a cost to being correct, about 5% for the benchmark scenes. For low sample counts it's even worse, I've seen up to 50% slowdown. For the latter case I think adjusting tile updating logic can help, but not sure what that would look like yet (it would be just a few lines change however).
2017-06-10Cycles: Faster split branched path tracing by sharing samples with inactive ↵Mai Lavelle
threads Unlike regular path tracing, branched path tracing is usually used with lower sample counts, at least for primary rays. This means that are less samples for the GPU to work on in parallel and rendering is slower. As there is less work overall there is also more inactive threads during rendering with BPT. This patch makes use of those inactive rays to render branched samples in parallel with other samples. Each thread that is preparing for a branched sample will attempt to find an inactive thread and if one is found the state for the sample is copied to that thread. Potentially, if there are enough inactive threads, 100s of branched samples could be generated from the same originating thread and ran in parallel giving large speed ups. Gives 70% faster render for pavillion midday scene. 20-60% faster on BMW with car paint replaced with SSS/volumes.
2017-06-10Cycles: Modify path_radiance_accum_sample to use atomics for split kernelMai Lavelle
Samples ran in parallel need a safe way to accumulate their results with the results of other threads.
2017-06-10Cycles: Add function to dequeue a rayMai Lavelle
2017-06-10Cycles: Add atomic decrement functions to util_atomic.hMai Lavelle