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
2017-10-11Cycles: Add utility function to remove given attributeSergey Sharybin
2017-10-11Cycles: Fix possible race condition when initializing devices listSergey Sharybin
2017-10-10Cycles: Fix compilation of sm_20 and sm_21 kernelsSergey Sharybin
Was broken since the bicubic commit for GPU support.
2017-10-08Cycles: schedule more work for non-display and compute preemption CUDA cards.Brecht Van Lommel
This change affects CUDA GPUs not connected to a display or connected to a display but supporting compute preemption so that the display does not freeze. I couldn't find an official list, but compute preemption seems to be only supported with GTX 1070+ and Linux (not GTX 1060- or Windows). This helps improve small tile rendering performance further if there are sufficient samples x number of pixels in a single tile to keep the GPU busy.
2017-10-08Fix T53017: Cycles not detecting AMD GPU when there is an NVidia GPU too.Mathieu Menuet
Best guess is that cuInit() somehow interferes with the AMD graphics driver on Windows, and switching the initialization order to do OpenCL first seems to solve the issue.
2017-10-08Code refactor: use DeviceInfo to enable QBVH and decoupled volume shading.Brecht Van Lommel
2017-10-08Cycles: OpenCL bicubic and tricubic texture interpolation support.Brecht Van Lommel
2017-10-07Fix incorrect MIS with principled BSDF and specular roughness 0.Brecht Van Lommel
2017-10-07Code cleanup: simplify cmake kernel install.Brecht Van Lommel
2017-10-07Cycles: CUDA bicubic and tricubic texture interpolation support.Brecht Van Lommel
While cubic interpolation is quite expensive on the CPU compared to linear interpolation, the difference on the GPU is quite small.
2017-10-07Code refactor: make texture code more consistent between devices.Brecht Van Lommel
* Use common TextureInfo struct for all devices, except CUDA fermi. * Move image sampling code to kernels/*/kernel_*_image.h files. * Use arrays for data textures on Fermi too, so device_vector<Struct> works.
2017-10-06Cycles: Fix possible race condition when generating Beckmann tableSergey Sharybin
Two issues here: - Checking table size to be non-zero is not a proper way to go here. This is because we first resize the table and then fill it in. So it was possible that non-initialized table was used. Trickery with using temporary memory and then doing table.swap() might work, but we can not guarantee that table size will be set after the data pointer. - Mutex guard was useless, because every thread was using own mutex. Need to make mutex guard static so all threads are using same mutex.
2017-10-06Cycles: Cleanup, indendationSergey Sharybin
2017-10-06Fix T53012: Shadow catcher creates artifacts on contact areaSergey Sharybin
The issue was caused by light sample being evaluated to nan at some point. This is root of the cause which is to be fixed, but is very hard to trace down especially via ssh (the issue only happens on AVX2 release build). Will give it a closer look when back to my AVX2 machine. For until then this is a good check to have anyway, it corresponds to what's happening in regular radiance sum.
2017-10-06Cycles: Cleanup, indentation and wrappingSergey Sharybin
2017-10-05Fix T53001: more workarounds for crash in AMD compiler with recent drivers.Brecht Van Lommel
2017-10-05Code refactor: split displace/background into separate kernels, remove luma.Brecht Van Lommel
2017-10-05Fix incorrect CUDA remaining time estimate after previous commit.Brecht Van Lommel
2017-10-04Cycles: CUDA faster rendering of small tiles, using multiple samples like ↵Brecht Van Lommel
OpenCL. The work size is still very conservative, and this doesn't help for progressive refine. For that we will need to render multiple tiles at the same time. But this should already help for denoising renders that require too much memory with big tiles, and just generally soften the performance dropoff with small tiles. Differential Revision: https://developer.blender.org/D2856
2017-10-04Fix use of uninitialized memory in Cycles normal baking.Brecht Van Lommel
2017-10-04Code refactor: zero render buffers outside of kernel.Brecht Van Lommel
This was originally done with the first sample in the kernel for better performance, but it doesn't work anymore with atomics. Any benefit was very minor anyway, too small to measure it seems.
2017-10-04Code refactor: use split variance calculation for mega kernels too.Brecht Van Lommel
There is no significant difference in denoised benchmark scenes and denoising ctests, so might as well make it all consistent.
2017-10-04Code refactor: remove rng_state buffer and compute hash on the fly.Brecht Van Lommel
A little faster on some benchmark scenes, a little slower on others, seems about performance neutral on average and saves a little memory.
2017-10-04Code refactor: add WorkTile struct for passing work to kernel.Brecht Van Lommel
This makes sharing some code between mega/split in following commits a bit easier, and also paves the way for rendering multiple tiles later.
2017-10-04Fix T52645, T52645: AMD OpenCL compiler crash with recent drivers.Brecht Van Lommel
Work around the bug by reshuffling code.
2017-10-03Fix T52981: 2D Curve shapes do not render untill extrudedSergey Sharybin
Regression since 9298c53.
2017-10-01CMake: support CUDA 9 toolkit, and automatically disable sm_2x binaries.Brecht Van Lommel
Fermi cards (GTX 4xx and 5xx) are no longer supported with this version, so we can keep supporting both CUDA 8 and 9 for a while.
2017-09-29Fix T52943: don't export curves objects with no faces to Cycles.Brecht Van Lommel
Also skip any objects with zero ray visibility and meshes with zero faces.
2017-09-29Fix Cycles OpenCL compiler error after recent changes.Brecht Van Lommel
2017-09-28Fix T52574: make Cycles rendered tile counter more clear.Kim Christensen
Differential Revision: https://developer.blender.org/D2853
2017-09-28Cycles: reduce subsurface stack memory usage.Brecht Van Lommel
This is done by storing only a subset of PathRadiance, and by storing direct light immediately in the main PathRadiance. Saves about 10% of CUDA stack memory, and simplifies subsurface indirect ray code.
2017-09-27Code refactor: simplify CUDA context push/pop.Brecht Van Lommel
Makes it possible to call a function like mem_alloc() when the context is already active. Also fixes some missing pops in case of errors.
2017-09-25Cycles: Cleanup, indentationSergey Sharybin
2017-09-23Cycles: Fix compilation error of OpenCL megakernel on AppleSergey Sharybin
2017-09-23Cycles: Fix compilation error of megakernel on NVidia deviceSergey Sharybin
It is more readable to explicitly compare to NULL anyway.
2017-09-21Code cleanup: simplify kernel side work stealing code.Brecht Van Lommel
2017-09-20Fix T52368: Cycles OSL trace() failing on Windows 32 bit.Brecht Van Lommel
2017-09-20Fix T52853: harmless Cycles test failure in debug mode.Brecht Van Lommel
2017-09-20Cycles: use defensive sampling for picking BSDFs and BSSRDFs.Brecht Van Lommel
For the first bounce we now give each BSDF or BSSRDF a minimum sample weight, which helps reduce noise for a typical case where you have a glossy BSDF with a small weight due to Fresnel, but not necessarily small contribution relative to a diffuse or transmission BSDF below. We can probably find a better heuristic that also enables this on further bounces, for example when looking through a perfect mirror, but I wasn't able to find a robust one so far.
2017-09-20Cycles: slightly improve BSDF sample stratification for path tracing.Brecht Van Lommel
Similar to what we did for area lights previously, this should help preserve stratification when using multiple BSDFs in theory. Improvements are not easily noticeable in practice though, because the number of BSDFs is usually low. Still nice to eliminate one sampling dimension.
2017-09-20Code cleanup: refactor BSSRDF closure sampling, for next commit.Brecht Van Lommel
2017-09-20Code cleanup: remove SOBOL_SKIP hack, seems no longer needed.Brecht Van Lommel
2017-09-20Code cleanup: remove hack to avoid seeing transparent objects in noise.Brecht Van Lommel
Previously the Sobol pattern suffered from some correlation issues that made the outline of objects like a smoke domain visible. This helps simplify the code and also makes some other optimizations possible.
2017-09-18Fix Cycles adaptive compile without volumes broken after recent changes.Carlo Andreacchio
Differential Revision: https://developer.blender.org/D2847
2017-09-16Cycles: Fix compilation error with OpenCL split kernelHristo Gueorguiev
2017-09-14Fix T51416: Blender Crashes while moving SlidersSergey Sharybin
The issue here was that removing datablock from main database will poke editors update, which includes buttons context to free users of texture. Since Cycles will free datablocks from job thread, it might crash Blender since main thread might be in the middle of drawing. Solved by exposing extra arguments to bpy.data.foo.remove() which indicates whether we want to perform ID user count and interface updates. While scripts shouldn't be using those normally, this is the only way to allow Cycles to skip interface update when removing datablock. Reviewers: mont29 Reviewed By: mont29 Differential Revision: https://developer.blender.org/D2840
2017-09-13Code cleanup: store branch factor in PathState.Brecht Van Lommel
2017-09-13Code cleanup: avoid used of uninitialized value in case of precision issue.Brecht Van Lommel
2017-09-13Code cleanup: abstract shadow catcher logic more into accumulation code.Brecht Van Lommel
2017-09-13Code cleanup: deduplicate some branched and split kernel code.Brecht Van Lommel
Benchmarks peformance on GTX 1080 and RX 480 on Linux is the same for bmw27, classroom, pabellon, and about 2% faster on fishy_cat and koro.