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-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
2017-02-23Cycles: Fix wrong render results with texture limit and half-float texturesSergey Sharybin
2017-02-23Cycles: Add utility function to convert float to halfSergey Sharybin
handles overflow and underflow, but not NaN/inf.
2017-02-23Fix T50748: Render Time incorrect when refreshing rendered preview in GPU modeSergey Sharybin
2017-02-22Cycles: Fix shading with autosmooth and custom normalsSergey Sharybin
New logic of split_faces was leaving mesh in a proper state from Blender's point of view, but Cycles wanted loop normals to be "flushed" to vertex normals. Now we do such a flush from Cycles side again, so we don't leave bad meshes behind. Thanks Bastien for assistance here!
2017-02-22Cycles: Additionally report all OpenCL cflagsSergey Sharybin
This way we can control exact spaces and such added to the cflags which is crucial to troubleshoot certain drivers.
2017-02-21Cycles: Speedup by avoiding extra calculations in noise texture when unneededMai Lavelle
Noise texture is now faster when the color socket is unused. Potential for speedup spotted by @nutel. Some performance results: Render Time Before After Difference Gooseberry benchmark 47:51.34 45:55.57 -4% Koro 12:24.92 12:18.46 -0.8% Simple cube (Color socket) 48.53 48.72 +0.3% Simple cube (Fac socket) 48.74 32.78 -32.7% Goethe displacement 1:21.18 1:08.47 -15.6% Cycles brick displacement 3:02.38 2:16.76 -25.0% Large displacement scene 23:54.12 20:09.62 -15.6% Reviewed By: sergey Differential Revision: https://developer.blender.org/D2513
2017-02-20Fix T50718: Regression: Split Normals Render Problem with CyclesSergey Sharybin
The issue seems to be caused by vertex normal being re-calculated to something else than loop normal, which also caused wrong loop normals after re-calculation. For now issue is solved by preserving CD_NORMAL for loops after split_faces() is finished, so render engine can access original proper value.