Age | Commit message (Collapse) | Author |
|
|
|
Apparently quite a few users would like to have the noisy pass available when using the denoiser, and since it's being generated anyways we might as well expose it by default.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D3608
|
|
bumpmapping
This function is supposed to prevent the black artifacts caused by strong normal- or bumpmapping, but failed in some cases.
Now the code correctly handles all test files and previous issues I am aware of and also has extensive comments describing
the algorithm and the math behind it.
Basically, the main problem was that there can be multiple valid solutions that fulfil the reflection angle criterium,
but I had assumed that only one would exist and therefore simply picked the first solution with a positive term in srqt().
Now, the code uses additional validity checks and a simple heuristic to pick the best valid solution.
Additionally, the code messed up very shallow reflections even if the normal map strength was zero due to the constant
limit for the outgoing ray angle, which caused shallow incoming rays to fail the initial test even when reflected directly
on Ng. Now, the code accounts for this by reducing the threshold in the case of a shallow incoming ray, ensuring that at
least N=Ng is always a valid solution.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D3816
|
|
Related to T57066, rather unlikely to fix core of the issue, but may
solve crash itself.
Same as rBf22385f28ec8 (did it by mistake in 2.8 first :/ ).
|
|
see D3817 for technical details, and https://wiki.blender.org/wiki/Tools/Debugging/Python_Visual_Studio for a end user quick-start guide.
Differential Revision: https://developer.blender.org/D3817
|
|
The shadow information isn't only used for shadowcatchers, but also to generate the shadowing feature pass of the denoiser.
|
|
|
|
Since my temporary buffer commit (about a month ago), the OpenCL device was zeroing the wrong buffer, leading to
completely wrong filtered feature passes and therefore significantly lower-quality results than CPU and CUDA.
|
|
Forgot to add that change, sorry for the noise.
|
|
|
|
denoiser
Previously the code allocated its own temporary memory, but it's possible to just use the existing shared one instead.
|
|
|
|
|
|
|
|
With new jemalloc versions memory allocated by threads that then become
inactive is not longer automatically freed. Instead we have to enable a
background thread to do it.
Some testing is needed to find out of this is sufficient, because the
background thread only runs periodically.
|
|
This does not affect existing releases as far as I can tell, only new builds
using the new SDK have the problem.
|
|
|
|
Was caused by previous commit.
|
|
The crash was caused by BVH traversal stack being overflowed.
That overflow was caused by lots of false-positive intersections
for rays originating on a non-finite location.
Not sure why those rays will be existing in the first place,
this is to be investigated separately.
This commit moves pre-SSE4.1 check to a higher level function
and enables it for all miroarchitectures.
|
|
|
|
|
|
|
|
|
|
Similar to dfae3de6bdf.
|
|
This is useful to run OpenGL tests while continuing to do other tasks
without windows constantly popping up in the foreground.
|
|
|
|
Fix suggested by Dalai.
|
|
|
|
While building the AVX kernel, util_avxf.h/avxb.h were using some AVX2 intrinsics,
these were never called, so it wasn't a run-time issue, but the intrinsics headers
on centos excluded the AVX2 prototypes when building the AVX kernel causing build errors.
This commit cleans up the improper usage of the AVX2 intrinsics and provides AVX
fallback implementations for future use.
Differential Revision: https://developer.blender.org/D3696
|
|
|
|
This isn't really possible to do the shuffle which was attempted to do.
While it's possible to achieve expected behavior, the function needs to
be rewritten. Since it's not used anyway, it's simpler to remove it for
now.
|
|
|
|
Failed as in did not allocate due to possibly weight cutoff.
Tryign to allocated Extra storage for closure in such situation
will consfuse Cycles and cause crashes later one due to obscure
values in ShaderData.
|
|
* WITH_SYSTEM_OPENJPEG is removed and is now always on, this was already
the case for macOS and Windows.
* This should not break existing Linx builds. If there is no new enough
OpenJPEG installed, CMake will no find libopenjp2 and WITH_IMAGE_OPENJPEG
will be disabled.
* install_deps.sh was updated with new package names, since distributions
put this version in a new package.
Differential Revision: https://developer.blender.org/D3663
|
|
|
|
|
|
|
|
|
|
WITH_CYCLES_CUDA_BINARIES was set as a regular variable causing it to be overwritten by the release.cmake settings.
|
|
Differential Revision: https://developer.blender.org/D3669
|
|
|
|
|
|
|
|
Was caused by missing NULL pointer check in BVH8.
|
|
|
|
The assembler template was backing up and restoring ebx, which is
fair enough. However, this did not prevent compiler for putting
result variables to ebx. This was causing data corruption.
In order to prevent this easiest solution is to list ebx in clobbers
for the assembly.
|
|
BVH8 refitting code had a bug.
|
|
|
|
|
|
|