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-03-10Cycles: Cleanup, extra semicolon and spaceSergey Sharybin
2017-03-10Cycles: Enable SSS and volumes for CUDA and Nvidia OpenCL split kernelMai Lavelle
2017-03-09Cycles: add single program debug option for split kernelHristo Gueorguiev
Single program generally compiles kernels faster (2-3 times), loads faster, takes less drive space (2-3 times), and reduces the number of cached kernels.
2017-03-09Cycles: split kernel_shadow_blocked to AO & DL partsHristo Gueorguiev
Reduces memory allocation for split kernel. This allows for faster rendering due to bigger global size, specially when GPU memory is limited. Perfromance results: R9 290 total render time Before After Change BMW 4:37 4:34 -1.1 % Classroom 14:43 14:30 -1.5 % Fishy Cat 11:20 11:04 -2.4 % Koro 12:11 12:04 -1.0 % Pabellon Barcelona 22:01 20:44 -5.8 % Pabellon Barcelona(*) 15:32 15:09 -2.5 % (*) without glossy connected to volume
2017-03-09Cycles: Speedup transparent shadows in split kernelHristo Gueorguiev
This commit enables record-all transparent shadows rays. Perfromance results: R9 290 render time (without synchronization), seconds Before After Change BMW 261.5 262.5 +0.4 % Classroom 869.6 867.3 -0.3 % Fishy Cat 657.4 639.8 -2.7 % Koro 1909.8 692.8 -63.7 % Pabellon Barcelona 1633.3 1238.0 -24.2 % Pabellon Barcelona(*) 1158.1 903.8 -22.0 % (*) without glossy connected to volume
2017-03-09Cycles: SSS and Volume rendering in split kernelHristo Gueorguiev
Decoupled ray marching is not supported yet. Transparent shadows are always enabled for volume rendering. Changes in kernel/bvh and kernel/geom are from Sergey. This simiplifies code significantly, and prepares it for record-all transparent shadow function in split kernel.
2017-03-09Cycles: Fix CUDA build error for some compilersMai Lavelle
Needed to include `util_types.h` before using `uint`.
2017-03-08Cycles: Make it more obvious message which initialization failedSergey Sharybin
2017-03-08Cycles: Use 1-based line number for #line directivesSergey Sharybin
AMD CPU platform was complaining about #line 0 directives in the code.
2017-03-08Cycles: Log which device kernels are being loaded forSergey Sharybin
2017-03-08Cycles: Make it possible to access KernelGlobals from split data ↵Sergey Sharybin
initialization function
2017-03-08Cycles: Cleanup, remove residue of previous split kernel dataSergey Sharybin
This is all in split data state array.
2017-03-08Cycles: Fix indentationMai Lavelle
2017-03-08Cycles: Fix strict warning about unused variableMai Lavelle
2017-03-08Cycles: Calculate size of split state buffer kernel sideMai Lavelle
By calculating the size of the state buffer in the kernel rather than the host less code is needed and the size actually reflects the requested features. Will also be a little faster in some cases because of larger global work size.
2017-03-08Cycles: Fix crash after failed kernel buildMai Lavelle
Pointers to kernels were uninitialized leading to freeing of random memory addresses. Another reason it would be good to use smart pointers.
2017-03-08Cycles: Faster building of split kernelMai Lavelle
Simple change to make it so that only kernels that have been modified are rebuilt. Might only be useful during development.
2017-03-08Cycles: Initialize rng_state for split kernelMai Lavelle
Because the split kernel can render multiple samples in parallel it is necessary to have everything initialized before rendering of any samples begins. The code that normally handles initialization of `rng_state` (`kernel_path_trace_setup()`) only does so for the first sample, which was causing artifacts in the split kernel due to uninitialized `rng_state` for some samples. Note that because the split kernel can render samples in parallel this means that the split kernel is incompatible with the LCG.
2017-03-08Cycles: Remove sum_all_radiance kernelMai Lavelle
This was only needed for the previous implementation of parallel samples. As we don't have that any more it can be removed. Real reason for removal tho is this: `per_sample_output_buffers` was being calculated too small and artifacts resulted. The tile buffer is already the correct size and calculating the size for `per_sample_output_buffers` is a bit difficult with the current layout of the code. As `per_sample_output_buffers` was only needed for `sum_all_radiance`, removing that kernel and writing output to the tile buffer directly fixes the artifacts.
2017-03-08Cycles: Split path initialization into own kernelMai Lavelle
This makes it easier to initialize things correctly in the data_init kernel before they are needed by path tracing.
2017-03-08Cycles: Seperate kernel loading time from render timeMai Lavelle
2017-03-08Cycles: Add names to buffer allocationsMai Lavelle
This is to help debug and track memory usage for generic buffers. We have similar for textures already since those require a name, but for buffers the name is only for debugging proposes.
2017-03-08Cycles: CUDA implementation of split kernelMai Lavelle
2017-03-08Cycles: CPU implementation of split kernelMai Lavelle
2017-03-08Cycles: Remove ccl_fetch and SOAMai Lavelle
2017-03-08Cycles: Report device maximum allocation and detected global sizeSergey Sharybin
2017-03-08Cycles: Workaround for driver hangsMai Lavelle
Simple workaround for some issues we've been having with AMD drivers hanging and rendering systems unresponsive. Unfortunately this makes things a bit slower, but its better than having to do hard reboots. Will be removed when drivers have been fixed. Define CYCLES_DISABLE_DRIVER_WORKAROUNDS to disable for testing purposes.
2017-03-08Cycles: OpenCL split kernel refactorMai Lavelle
This does a few things at once: - Refactors host side split kernel logic into a new device agnostic class `DeviceSplitKernel`. - Removes tile splitting, a new work pool implementation takes its place and allows as many threads as will fit in memory regardless of tile size, which can give performance gains. - Refactors split state buffers into one buffer, as well as reduces the number of arguments passed to kernels. Means there's less code to deal with overall. - Moves kernel logic out of OpenCL kernel files so they can later be used by other device types. - Replaced OpenCL specific APIs with new generic versions - Tiles can now be seen updating during rendering
2017-03-08Cycles: Add OpenCL kernel for zeroing memory buffersMai Lavelle
Transferring memory to the device was very slow and there's really no need when only zeroing a buffer.
2017-03-08Cycles: Add more atomic operationsMai Lavelle
2017-03-08Cycles: Expose passes size to device tasksMai Lavelle
This is needed so devices can know the size of a tile buffer before any tiles are acquired.
2017-03-08Cycles: Allow device_memory to be used directlyMai Lavelle
This is useful for when theres no host side memory attched to the buffer
2017-03-06Cycles: Fix strict -Wpedantic warnings with GCCSergey Sharybin
Patch by Stefan Werner, thanks!
2017-03-06FFmpeg: Update for the deprecated API in 3.2.xSergey Sharybin
Should be no functional changes.
2017-03-05Fix T50843: Pitched Audio renders incorrectly in VSEJörg Müller
There was a bug in the intended code behaviour to always seek with a pitch of 1.0 regardless of pitch/pitch animation/doppler effects. Check the bug report for a more detailed explanation of problems concerning pitch and seeking.
2017-03-03Cycles: Fix possibly uninitialized variableSergey Sharybin
Hopefully this was a reason of randomly disappearing textures in our renders.
2017-03-01Cleanup: Use explicit unsigned int in atomicsSergey Sharybin
2017-02-28Cycles: Fix division by zero in volume code which was producing -nanSergey Sharybin
2017-02-28Cleanup: Grey --> GrayAaron Carlisle
2017-02-27Cycles: Fix compilation error on vanilla Ubuntu 16.10Sergey Sharybin
Patch by @swerner, thanks!
2017-02-27Fix T50634: Hair Primitive as Triangles + Hair shader with a texture = crashSergey Sharybin
Attributes were not resized after pushing new triangles to the mesh.
2017-02-27Fix part of T50634: Hair Primitive as Triangles + Hair shader with a texture ↵Sergey Sharybin
= crash Wrong formula was used to calculate needed verts and tris to be reserved.
2017-02-27Cycles: Make it more clear values never changes by using const qualifierSergey Sharybin
2017-02-27Cycles: Forgot this in previous commitSergey Sharybin
2017-02-27Cycles: Add more logs about what's going on in shader optimizationSergey Sharybin
2017-02-27Cycles: Experiment with replacing Sharp Glossy with GGX when Filter Glossy ↵Sergey Sharybin
is used The idea is to make it simpler to remove noise from scenes when some prop uses Sharp glossy closure and causes noise in certain cases. Previously Sharp Glossy was not affected by Filter Glossy at all, which was quite confusing. Here is a file which demonstrates the issue: {F417797} After applying the patch all the noise from the scene is gone. This change also solves fireflies reported in T50700. Reviewers: brecht, lukasstockner97 Differential Revision: https://developer.blender.org/D2416
2017-02-25Fix T50698: Cycles baking artifacts with transparent surfaces.Brecht Van Lommel
2017-02-25Fix build error with macOS / clang / c++11.Brecht Van Lommel
2017-02-24Cycles: Fix compilation warning with CUDA on OSXSergey Sharybin
2017-02-23Cycles: Fix compilation error on 32bit LinuxSergey Sharybin