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
2016-11-17Fix T50001: auto tile size addon broken after Cycles GPU device changes.Brecht Van Lommel
Adds a get_num_gpu_devices() utility function for the addon to use.
2016-11-16Cycles: Fix different noise pattern from fix in T49838:Sergey Sharybin
No need to hash subframe == 0.
2016-11-15FIX T49899: Add EIGEN_MAKE_ALIGNED_OPERATOR_NEW to classes that use eigen's ↵lazydodo
data types , to force aligned on 16 byte boundaries.
2016-11-15Atomics: Add some extra utility functionsSergey Sharybin
Also fixed semantic of fetch-and-add in assembler implementation, it seemed to not match the naming.
2016-11-15Atomics: Make naming more obvious about which value is being returnedSergey Sharybin
2016-11-14Cycles: De-duplicate image loading functionsSergey Sharybin
The code was templated already, so don't see big reason to have 3 versions of templated functions. It was giving some extra code to maintain and in fact already had divergency for support of huge image resolution (missing size_t cast in byte image loading). There should be no changes visible by artists.
2016-11-12Fix T49904: Cycles standalone missing default generated texture coordinates.Brecht Van Lommel
2016-11-12Fix Cycles OSL compilation based on modified time not working.Brecht Van Lommel
2016-11-12Fix Cycles standalone not finding CPU device after recent changes.Brecht Van Lommel
2016-11-12Fix T49985: cycles standalone XML missing distant lights.Brecht Van Lommel
2016-11-12Fix T49985: cycles standalone using wrong socket names for XML reading.Brecht Van Lommel
2016-11-11Cycles: Add comments to endif directivesMai Lavelle
`kernel_path.h` and `kernel_path_branched.h` have a lot of conditional code and it was kind of hard to tell what code belonged to which directive. Should be easier to read now.
2016-11-08Atomics: Add 32 bit version of fetch and AND/ORSergey Sharybin
2016-11-08Fix T49838: Noise randomization for frame should be done per interframes as wellSergey Sharybin
Add subframe to the animated seed hash calculation. Should be no difference for the regular files, only for cases when scene is rendered from sequencer with a speed effect, which is not really a common thing.
2016-11-08Cycles: Only use new light sample threshold for new filesSergey Sharybin
This is a late follow-up commit to the light sample threshold changes which caused difference in rendering all existing .blend files which is not something we are happy about: it is fine to use new optimized defaults for new files, but existing ones should always be rendering in the same way as they used to be. Sorry for the inconveniece, but such thing should have been done to begin with. If this setting was modified it will not be reset to zero. Now all render tests should be passing again. P.S. Also really annoying to bump subversion for such reasons, but currently we don't have better way to achieve what we want.
2016-11-07Fix compilation error when CUDA toolkit is not installedSergey Sharybin
After CUDA dynload changes having CUDA toolkit became required in order to compile Cycles. This only happened due to wrong default value to the option.
2016-11-07Cycles: Remove device settings from performance tabLukas Stockner
This was included in the commit by accident, it doesn't belong there.
2016-11-07Cycles: Refactor Device selection to allow individual GPU compute device ↵Lukas Stockner
selection Previously, it was only possible to choose a single GPU or all of that type (CUDA or OpenCL). Now, a toggle button is displayed for every device. These settings are tied to the PCI Bus ID of the devices, so they're consistent across hardware addition and removal (but not when swapping/moving cards). From the code perspective, the more important change is that now, the compute device properties are stored in the Addon preferences of the Cycles addon, instead of directly in the User Preferences. This allows for a cleaner implementation, removing the Cycles C API functions that were called by the RNA code to specify the enum items. Note that this change is neither backwards- nor forwards-compatible, but since it's only a User Preference no existing files are broken. Reviewers: #cycles, brecht Reviewed By: #cycles, brecht Subscribers: brecht, juicyfruit, mib2berlin, Blendify Differential Revision: https://developer.blender.org/D2338
2016-11-06Cycles: Fix T49952: Bad MIS sampling of backgrounds with single bright pixelsLukas Stockner
With this fix, using a MIS map resolution equal to the image size for closest imterpolation or twice the size for linear interpolation gets rid of all fireflies. Previously, a much higher resolution was needed to get acceptable noise levels.
2016-11-04cycles, cuDeviceComputeCapability is deprecated as of cuda 5.0Martijn Berger
2016-11-03Cycles: Fix missing underscore in geom_object.hLukas Stockner
2016-11-03Cycles: Fix OpenCL build error caused by light termination commitLukas Stockner
2016-11-03Cycles: Fix T49901: OpenCL build error after recent light texture coordinate ↵Lukas Stockner
commit Basically, the problem here was that the transform that's used to bring texture coordinates to world space is either fetched while setting up the shader (with Object Motion is enabled) or fetched when needed (otherwise). That helps to save ShaderData memory on OpenCL when Object Motion isn't needed. Now, if OM is enabled, the Lamp transform can just be stored inside the ShaderData as well. The original commit just assumed it is. However, when it's not (on OpenCL by default, for example), there is no easy way to fetch it when needed, since the ShaderData doesn't store the Lamp index. So, for now the lamps just don't support local texture coordinates anymore when Object Motion is disabled. To fix and support this properly, one of the following could be done: - Just always pre-fetch the transform. Downside: Memory Usage increases when not using OM on OpenCL - Add a variable to ShaderData that stores the Lamp ID to allow fetching it when needed - Store the Lamp ID inside prim or object. Problem: Cycles currently checks these for whether an object was hit - these checks would need to be changed. - Enable OM whenever a Texture Coordinate's Normal output is used. Downside: Might not actually be needed.
2016-11-02Libmv: Update tests to make tests pass after recent Ceres updateSergey Sharybin
Just a precision issue, difference is around 1e-7. Should be fine to simply update expected value.
2016-11-02Cycles standalone, compile fix UINT_MAX is not defined in device_cuda.cppMartijn Berger
2016-10-31Cycles: Deduplicate AO calculationLukas Stockner
No functional changes.
2016-10-30Cycles: Fix OpenCL compilation with the new brick textureLukas Stockner
2016-10-30Cycles: Style Fix: Light sampling threshold descriptionLukas Stockner
2016-10-30Cycles: Initialize the RNG state from the kernel instead of the hostLukas Stockner
This allows to save a memory copy, which will be particularly useful for network rendering. Reviewers: sergey, brecht, dingto, juicyfruit, maiself Differential Revision: https://developer.blender.org/D2323
2016-10-30Cycles: Add optional probabilistic termination of light samples based on ↵Lukas Stockner
their expected contribution In scenes with many lights, some of them might have a very small contribution to some pixels, but the shadow rays are traced anyways. To avoid that, this patch adds probabilistic termination to light samples - if the contribution before checking for shadowing is below a user-defined threshold, the sample will be discarded with probability (1 - (contribution / threshold)) and otherwise kept, but weighted more to remain unbiased. This is the same approach that's also used in path termination based on length. Note that the rendering remains unbiased with this option, it just adds a bit of noise - but if the setting is used moderately, the speedup gained easily outweighs the additional noise. Reviewers: #cycles Subscribers: sergey, brecht Differential Revision: https://developer.blender.org/D2217
2016-10-30Cycles: Add smoothing option to the Brick TextureLukas Stockner
This option allows to create a smoother transition between Bricks and Mortar - 0 applies no smoothing, and 1 smooths across the whole mortar width. Mainly useful for displacement textures. The new default value for the smoothing option is 0.1 to give some smoothing that helps with antialiasing, but existing nodes are loaded with smoothing 0 to preserve compatibility. Reviewers: sergey, dingto, juicyfruit, brecht Reviewed By: brecht Subscribers: Blendify, nutel Differential Revision: https://developer.blender.org/D2230
2016-10-29Fix T49846: OpenCL rendering compilation failureLukas Stockner
2016-10-29Cycles: Implement texture coordinates for Point, Spot and Area LampsLukas Stockner
When using the Normal output of the Texture Coordinate node on Point and Spot lamps, the coordinates now depend on the rotation of the lamp. On Area lamps, the Parametric output of the Geometry node now returns UV coordinates on the area lamp. Credit for the Area lamp part goes to Stefan Werner (from D1995).
2016-10-27Cycles: More workarounds for weird crashes on AVX2Sergey Sharybin
Oh man, is it a compiler bug? Is it something we do stupid? For now more crap to prevent crashes. During the conference will talk to Maxyn about how can we troubleshoot such weird issues.
2016-10-26Cycles: Another attempt to fix crashes on AVX2 processorsSergey Sharybin
Basically don't use rcp() in areas which seems to be critical after second look. Also disabled some multiplication operators, not sure yet why they might be a problem. Tomorrow will be setting up a full test with all cases which were buggy in our farm to see if this fix is complete.
2016-10-26Cycles: Fix compilation error of AVX2 kernel without SSE mathSergey Sharybin
2016-10-26Cycles: Completely disable transform SSE for nowSergey Sharybin
Was causing issues on another frame. On a tight schedule, disabling for now so artists are happy. Still looking into root of the issue!
2016-10-26Cycles: Fix crashes after recent optimization commitsSergey Sharybin
There is some precision issues for big magnitude coordinates which started to give weird behavior of release builds. Some weird memory usage in BVH which is tricky to nail down because only happens in release builds and GDB reports all variables as optimized out when trying to use RelWithDebInfo. There are two things in this commit: - Attempt to make vectorized code closer to original one, hoping that it'll eliminate precision issue. This seems to work for transform_point(). - Similar trick did not work for transform_direction() even tho absolute error here is much smaller. For now disabled that function, need a more careful look here.
2016-10-25Cycles: Fix for fix (tm)Sergey Sharybin
Sorry guys, for some reason read the expression back-to-front and did wrong fix :S
2016-10-25Cycles: Fix typo in previous commit for BVH improvementsSergey Sharybin
2016-10-25API: Fix LinksAaron Carlisle
Self-explanatory. to find broken links run `sphinx-build -b linkcheck sphinx-in sphinx-out` Reviewers: mont29 Tags: #bf_blender, #python, #infrastructure:_websites Differential Revision: https://developer.blender.org/D2297
2016-10-25Cycles: Enable SSE math optimization for AVX kernelsSergey Sharybin
This gives about 5% speedup for AVX processors. Benefit of such optimization on other microarchitectures is still under investigation.
2016-10-25Cycles: Use new SSE version of offset calculation for all QBVH flavorsSergey Sharybin
Gives up to ~1% speedup again. While it seems to be small, still nice since the code now is actually more clean that it used to be before.
2016-10-25Cycles: Move QBVH near/far offset calculation to an utility functionSergey Sharybin
Just preparing for new optimization to be used in all traversal implementation. Should be no measurable difference.
2016-10-25Cycles: BVH-related SSE optimizationSergey Sharybin
Several ideas here: - Optimize calculation of near_{x,y,z} in a way that does not require 3 if() statements per update, which avoids negative effect of wrong branch prediction. - Optimization of direction clamping for BVH. - Optimization of point/direction transform. Brings ~1.5% speedup again depending on a scene (unfortunately, this speedup can't be sum across all previous commits because speedup of each of the changes varies from scene to scene, but it still seems to be nice solid speedup of few percent on Linux and bigger speedup was reported on Windows). Once again ,thanks Maxym for inspiration! Still TODO: We have multiple places where we need to calculate near x,y,z indices in BVH, for now it's only done for main BVH traversal. Will try to move this calculation to an utility function and see if that can be easily re-used across all the BVH flavors.
2016-10-25Cycles: Avoid branching in SSE version of intersection pre-calculationSergey Sharybin
Similar to the previous commit, avoid negative effect of bad branch prediction. Gives measurable performance up to ~2% in tests here. Once again, thanks to Maxym Dmytrychenko!
2016-10-25Cycles: Implement SSE-optimized path of util_max_axis()Sergey Sharybin
The idea here is to avoid if statements which could cause wrong branch prediction. Gives a bit of measurable speedup up to ~1%. Still nice :) Inspired by Maxym Dmytrychenko, thanks!
2016-10-24Cycles: Add AVX2 path to subsurface triangle intersectionSergey Sharybin
Similar to regular triangle intersection case. Gives about 3% speedup rendering SSS object on my desktop, Question: how to avoid such a code duplication in a nice way without speed loss?
2016-10-24Cycles: Don't use guarded vector for statically initialized dataSergey Sharybin
This will confuse hell of a guarded allocators because it is possible to have allocation happened prior to Blender's guarded allocator is fully initialized. This was causing crashes and assert failures when running blender with fully guarded memory allocator.
2016-10-24Cycles: Fix shadowing variable which also causes use of uninitialized variableSergey Sharybin
Was causing wrong aperture for panorama cameras. Seems to be a regression in 371d357.