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
2018-01-03Cycles: CUDA support for rendering scenes that don't fit on GPU.Brecht Van Lommel
In that case it can now fall back to CPU memory, at the cost of reduced performance. For scenes that fit in GPU memory, this commit should not cause any noticeable slowdowns. We don't use all physical system RAM, since that can cause OS instability. We leave at least half of system RAM or 4GB to other software, whichever is smaller. For image textures in host memory, performance was maybe 20-30% slower in our tests (although this is highly hardware and scene dependent). Once other type of data doesn't fit on the GPU, performance can be e.g. 10x slower, and at that point it's probably better to just render on the CPU. Differential Revision: https://developer.blender.org/D2056
2018-01-03Cycles: make CUDA code a bit more robust to host/device alloc failures.Brecht Van Lommel
Fixes a few corner cases found while stress testing host mapped memory.
2017-12-29Fix mistake in previous fix for T53600, shows we really need a smarter solution.Brecht Van Lommel
2017-12-26Fix T53600: Cycles shader mixing issue with principled BSDF and zero weights.Brecht Van Lommel
SVM nodes need to read all data to get the right offset for the following node. This is quite weak, a more generic solution would be good in the future.
2017-12-26Fix T53607: Cycles normal map baking problem when there is no bump.Brecht Van Lommel
2017-12-21Fix T53567: Negative pixel values causing artifacts with denoisingLukas Stockner
Now negative color values are clamped to zero before the actual denoising.
2017-12-20Cycles: Cleanup, indentationSergey Sharybin
2017-12-19Cycles: Fix crash opening user preferences after adding extra GPUSergey Sharybin
We can not store pointers to elements of collection property in the case we modify that collection. This is like storing pointers to elements of array before calling realloc().
2017-12-15Libmv: Add C-API function to set all markers within AutoTrack structureSergey Sharybin
2017-12-08Cycles: Fix difference in image Clip extension method between CPU and GPUSergey Sharybin
Our own implementation was behaving different comparing to OSL and GPU, namely on the border pixels OSL and CUDA was doing interpolation with black, but we were clamping coordinate. This partially fixes issue reported in T53452. Similar change should also be done for 3D interpolation perhaps, but this is to be investigated separately.
2017-12-08Cycles: Cleanup, split 2D interpolation functionSergey Sharybin
2017-12-06Cycles: Fix constness for load_kernels in device_cpu.cppLukas Stockner
2017-12-02Fix Cycles standalone crash when saving output, after recent refactoring.Brecht Van Lommel
2017-11-30Haiku OS SupportCampbell Barton
D2860 by @miqlas Even though Haiku is a niche OS, only minor changes are needed.
2017-11-30Cycles: Improve denoising speed on GPUs with small tile sizesLukas Stockner
Previously, the NLM kernels would be launched once per offset with one thread per pixel. However, with the smaller tile sizes that are now feasible, there wasn't enough work to fully occupy GPUs which results in a significant slowdown. Therefore, the kernels are now launched in a single call that handles all offsets at once. This has two downsides: Memory accesses to accumulating buffers are now atomic, and more importantly, the temporary memory now has to be allocated for every shift at once, increasing the required memory. On the other hand, of course, the smaller tiles significantly reduce the size of the memory. The main bottleneck right now is the construction of the transformation - there is nothing to be parallelized there, one thread per pixel is the maximum. I tried to parallelize the SVD implementation by storing the matrix in shared memory and launching one block per pixel, but that wasn't really going anywhere. To make the new code somewhat readable, the handling of rectangular regions was cleaned up a bit and commented, it should be easier to understand what's going on now. Also, some variables have been renamed to make the difference between buffer width and stride more apparent, in addition to some general style cleanup.
2017-11-29Cycles: add object level holdout property.Brecht Van Lommel
This works the same as the holdout shader and Z mask layer. Combined with overrides in 2.8 this is intended to replace the Z mask layer bits.
2017-11-29Cycles: improve triangle intersection performance.Maxym Dmytrychenko
Reduces render time by about 1-2% in benchmark scenes. Differential Revision: https://developer.blender.org/D2911
2017-11-26Fix T53349: AO bounces not working correct with OpenCL.Mathieu Menuet
2017-11-23atomic_ops: add `atomic_cas_float` helper.Bastien Montagne
2017-11-23atomic_ops: Copy/adapt static assert macro from BLI_utildefines, and use it.Bastien Montagne
Checking for type sizes is much nicer with a static assert!
2017-11-23Fix T53357: harmless assert after recent addition of render time pass.Brecht Van Lommel
2017-11-23Fix T53348: Cycles difference between gradient texture on CPU and GPU.Brecht Van Lommel
2017-11-23Moar attempt to fix bloody MSVC intrinsic mess...Bastien Montagne
2017-11-23Attempt to fix bloody MSVC atomic intrinsic mess...Bastien Montagne
2017-11-23atomic_ops: add char versions of uint8_t atomic primitives.Bastien Montagne
2017-11-23atomic_ops: add signed versions of primitives.Bastien Montagne
Reason is motsly that dealing with type conversion in calling code is not great, makes it less readable, and can generate hidden bugs in case original type changes and atomic primitive calls are not updated accordingly...
2017-11-22Fix T53313: bevel shader with transmission render artifacts.Brecht Van Lommel
2017-11-21Cycles: Fixed compilation of CUDA kernels. Follow-up fix for my last commit.Stefan Werner
2017-11-21Cycles: Fix OSL brick node after recent fixMai Lavelle
2017-11-21Cycles: Workaround for performance loss with the CUDA 9.0 SDK.Stefan Werner
CUDA 9.0.176 apparently caused some slow down on high-end Pascal cards that can be mitigated by increasing the number of registers. See https://developer.blender.org/F1142667 for a detailed comparison.
2017-11-21Fix T53365: OpenCL has wrong shading of brick textureMai Lavelle
Looks like some weird compiler difference with signed vs unsigned ints.
2017-11-21Fix build with OSL 1.9.x, automatically aligns to 16 bytes now.Brecht Van Lommel
2017-11-20Cycles: Fix wrong behavior of sharpness in Cubic SSSSergey Sharybin
Was giving difference when using sharpness of 1.0 and 0.999 even though the result was expected to be really close to each other. This SSS profile will probably be removed in the future in favor of more physically bases Burley, but for the time being don't see anything wrong fixing an existing code.
2017-11-17Mikktspace: Speed up the merging of identical verticesLukas Stockner
Previously, Mikktspace just bucketed the vertices based on one spatial coordinate and then ran full pairwise comparisons inside each bucket. However, since models are three-dimensional, the bucketing has a massive false-positive rate, and since pairwise comparison is O(n^2), the merging process is very slow. But, since we only care about exactly identical vertices, there is a much more efficient approach - we can just hash all values belonging to each vertex and form buckets based on the hash. Since the hash has 32 bits and considers all values, false-positives are very unlikely - and since both hashing and the radixsort that's used for bucketing are O(n), both asymptotical and real-world performance (as well as code complexity) are significantly improved.
2017-11-17Cycles: Add per-tile render time debug passLukas Stockner
Reviewers: sergey, brecht Differential Revision: https://developer.blender.org/D2920
2017-11-17Cycles: Add Volume Direct and Volume Indirect passes for volume-scattered lightLukas Stockner
No color pass because it's hard to define what to use as color in a volume. Reviewers: sergey, brecht Differential Revision: https://developer.blender.org/D2903
2017-11-17Cycles: Refactor PassType from bitflag to index in order to allow for more ↵Lukas Stockner
passes
2017-11-16Cycles: Fix crash with split branched path tracingMai Lavelle
ShaderData memory was getting clobbered in the branched path code paths. Was caused by 087331c495b04ebd37903c0dc0e46262354cf026
2017-11-14Smoke: Pass non-trivial arguments by const referenceSergey Sharybin
2017-11-14Fix compilation error with clang-5Sergey Sharybin
2017-11-14Cycles: Make per-object random value output also work for LampsLukas Stockner
2017-11-14Cycles: Refactor closure roughness detection to fix a potential bug with ↵Lukas Stockner
Denoising of specular shaders
2017-11-13Cycles: Fix compilation error of standalone applicationSergey Sharybin
2017-11-13Cycles: Fix compilation error with OIIO compiled against system PugiXMLSergey Sharybin
2017-11-12Fix T53289: CUDA missing textures not showing pink, after recent changes.Brecht Van Lommel
2017-11-11Cycles: Set error if a split kernel fails to loadMai Lavelle
To help catch cases where adding a new kernel is missed for one of the device implementations.
2017-11-10Cycles: Fix compilation error with latest OIIOSergey Sharybin
There was some changes about namespaces, which causes ambiguities. Replaces using namespace with an explicit symbols we need. Is good idea to NOT pull in the whole namespace anyway!
2017-11-10Cycles: better distance sampling for chromatic volume extinction.Brecht Van Lommel
Previously we picked one of the RGB channels with equal probability, but this works poorly in a dense volume after many bounces. Now we take into account the throughput and single scattering albedo. This makes it a little more practical to do brute force SSS with volumes, but is still very inefficient because we do direct light sampling at every volume bounce even when inside an opaque mesh. In theory there could be a light inside the mesh so we can't automatically disable direct lighting.
2017-11-09Fix T53270: crash with multiscatter GGX after recent refactoring.Brecht Van Lommel
In fact this was an existing issue when exceeding the number of available closure, but it's more common now that we set the number to 0 for shadows and emission
2017-11-09Fix (harmless) valgrind warning.Brecht Van Lommel