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
2015-04-08Fix T44046: Cycles speed regression in 2.74 (CPU only)Sergey Sharybin
Issue was caused by MSVC not being able to optimize some code out in the same way as GCC/Clang does, so now that parts of code are explicitly unfolded in order to help compilers out. This makes speed loss much less drastic on my laptop. That's probably as good as we can do with MSVC without investing infinite amount of time looking trying to workaround the optimizer.
2015-04-07Cycles: Cleanup, typosSergey Sharybin
2015-04-07Cycles: Cleanup, indentationSergey Sharybin
2015-04-06Cycles: Cleanup, spaces around assignment operatorSergey Sharybin
Did some bad spacing in recent commits, better to get rid of those so they does not confuse those who're working on sources.
2015-04-06Cycles: Avoid doing paranoid checks in filepath of builtin imagesSergey Sharybin
Originally we thought it's needed in order to distinguish builtin file from filename which starts with '@', but the filepath is actually full path there and it's unlikely to have file system where '@' is a proper root character. Surprisingly this does not give visible speed differences, but it's still nice to get rid of redundant check.
2015-04-06Cycles: Support bultin 3d textures with OSL backendSergey Sharybin
2015-04-06Cycles: de-duplicate fast/approximate erf function calculationSergey Sharybin
Our own implementation is in fact the same performance as in fast_math from OpenShadingLanguage, but implementation from fast_math is using explicit madd function, which increases chance of compiler deciding to use intrinsics.
2015-04-05Fix T44269: Typo in volume_attribute_float:geom_volume.hSergey Sharybin
Was rather harmless typo since we either pass both dx,dy or pass both NULL.
2015-04-05Cycles: Avoid using lookup table for Beckmann slopes on GPUSergey Sharybin
This patch is based on some work done in D788 and re-formulation from Beckmann implementation in OpenShadingLanguage. Skipping texture lookup helps a lot on GPUs where it's more expensive to access texture memory than to do some extra calculation in threads. CPU code still uses lookup-table based approach since this seems to be still faster (at least on computers i've got access to). This change gives about 2% speedup on BMW scene with GTX560TI.
2015-04-05Cycles: Remove unused Beckmann slope sampling codeSergey Sharybin
It did not preserve stratification too well and lookup-table approach was working much better. There are now also some more interesting forumlation from Wenzel and OpenShadingLanguage which should work better than old code.
2015-04-04Cleanup: Typo fix in HSV code.Thomas Dinges
2015-04-01Cycles: Make SSS intersection closer to regular triangle intersectionSergey Sharybin
2015-04-01Cycles: Remove unused direction from triangle intersection functionsSergey Sharybin
This argument was unused and got nicely optimized out. But once it starts to be using registers are getting stressed really crazy, causing slow down of render.
2015-04-01Fix T44113: Ashikhmin-Shirley distribution of glossy shader at 0 roughness ↵Sergey Sharybin
causes artifacts when background uses MIS Was a division by zero error, solved in the same way as beckmann/ggx deals with small roughness values.
2015-03-31Cycles: Avoid float/int conversion in few placesSergey Sharybin
2015-03-31Cycles: Fix typo in distance heuristic for shadow raysSergey Sharybin
It's not that bad because this typo could only caused not really efficient BVH traversal, causing higher render times. Not as if it was causing render artifacts.
2015-03-30Cycles: Attempt to fix osl+scons compilationSergey Sharybin
Defines (and other cflags) are not inherited by scons to the subdirectories, need to take care of them in all nested SConscripts.
2015-03-27Cycles: Code cleanup, spaces around keywordsSergey Sharybin
This inconsistency drove me totally crazy, it's really confusing when it's inconsistent especially when you work on both Cycles and Blender sides. Shouldn;t cause merge PITA, it's whitespace changes only, Git should be able to merge it nicely.
2015-03-27CMake: Enable strict flags for C++Sergey Sharybin
2015-03-27Cycles: Code cleanup, prepare for strict C++ flagsSergey Sharybin
2015-03-25Fix 2 typos ( shakin' hands )Jens Verwiebe
2015-03-25Fix T44128: Ray visibility only enables diffuse if glossy is also enabledSergey Sharybin
Issue was caused by accident in c8a9a56 which not only disabled glossy reflection if Glossy visibility is disabled, but also Diffuse reflection. Quite safe and should go to final release branch.
2015-03-25Fix T44123: Cycles SSS renders black in recent buildsSergey Sharybin
Issue was introduced in 01ee21f where i didn't notice *_setup() function only doing partial initialization, and some of parameters are expected to be initialized by callee function. This was hitting only some setups, so tests with benchmark scenes didn't unleash issues. Now it should all be fine. This is to go to the 2.74 branch and we actually might re-AHOY.
2015-03-23Fix T43926: Volume scatter: intersecting objects GPU rendering artifactsSergey Sharybin
Fix T44007: Cycles Volumetrics: block artifacts with overlapping volumes The issue was caused by uninitialized parameters of some closures, which lead to unpredictable behavior of shader_merge_closures().
2015-03-13Cycles: Optimization for CMJ in CUDA kernelsSergey Sharybin
Two things: - Use intrinsics for clz/ctz (ctz is implemented via ffs()). - Use faster sqrt() function which precision is enough for integer values.
2015-03-13Cycles: Simplify volume light connect code.Thomas Dinges
2015-03-13Cleanup: Use differential helper class.Thomas Dinges
2015-03-12Revert "Fix T43865: Cycles: Watertight rendering produces artifacts on a ↵Sergey Sharybin
huge plane" The fix was really flacky, in terms during speed benchmarks i had abort() in the fallback block to be sure it never runs in production scenes, but that affected on the optimization as well. Without this abort there's quite bad slowdown of 5-7% on the renders even tho the Pleucker fallback was never run. This is all weird and for now reverting the change which affects on all the production scenes and will look into alternative fixes for the original issue with precision loss on huge planes. This reverts commit 9489205c5c0b9b432d02be4a3d0d15fc62ee6cb9.
2015-03-12Cycles / Decoupled Ray Marching: Skip consecutive empty steps.Thomas Dinges
This merges consecutive empty steps in the decoupled record function, which can lead to fewer iterations in the scatter functions. Only helps slightly though (1%), but doesn't hurt to have this. Differential Revision: https://developer.blender.org/D873
2015-03-07Fix T41066: An actual fix for curve intersection on FMA-enabled CPUsSv. Lockal
2015-03-05Fix T43865: Cycles: Watertight rendering produces artifacts on a huge planeSergey Sharybin
The issue was caused by numerical instability whrn having ray origin close to a huge triangle, which could have aused bad ray distance check. Watertight Woop intersection isn't really addressing such cases, it's dealing with small triangles far away from the ray origin instead, so it's a bit tricky yo make it working reliably. While we're quite close to the release it's safer to do check in Pleaucker coordinates if ray close to a huge triangle. Likely this additional check combined with some other tweaks to the code doesn't cause measurable slowdown in the scenes tested here. After the release we can play a bit more with this code in order to make it more stable without Pleucker fallback.
2015-03-03Cycles: Fix embarrassing type remained after getting rid of utility SWAP()Sergey Sharybin
2015-03-03Cycles: Fix/workaround for toggling world MIS causing CUDA to failSergey Sharybin
Seems it's just another issue with the compiler, worked around by explicitly telling not to inline some function. In theory we can unify this with CPU, but we're quite close to the release so better be safe than sorry.
2015-02-26Revert "Cleanup: Simplify camera sample motion blur code."Thomas Dinges
This reverts commit 8197f0bb645f73f41071daaccf205a7583e695f5.
2015-02-26Cleanup: Simplify camera sample motion blur code.Thomas Dinges
2015-02-24Fix T43783: Cycles clipping doesn't match viewport when camera is inside volumeSergey Sharybin
Ray length adjustment got lost in some refactor commit back to 2.71 days.
2015-02-23Disable Bake Jitter code (recently added)Dalai Felinto
The following commits were supposed to add anti-alias and help with OSL baking: 7b16fda3799d5b7167ef7ffe533d654810f44e36 1b92dfa96160f8151972d73337d5a927d8b89297 However they introduced other issues (artifacts mostly), see T43550 . Leaving the code ifdef'ed for now.
2015-02-23Cleanup: Simplify brick texture code a bit.Thomas Dinges
2015-02-21Cycles: Add note about autodiff in OSL wireframe shaderSergey Sharybin
2015-02-21Fix T43755: Wireframe attribute doesn't work with displaceSergey Sharybin
This attribute missed derivatives calculation. Not totally sure what's the proper approach for algebraic derivative calculation, so calculating them by definition. This isn't fastest way to do it in this case and could be replaced with some smarter magic in the wireframe calculation loop. At least currently implemented approach is better than nothing.
2015-02-21Cycles: Workaround for NVidia OpenCL compilationSergey Sharybin
It was complaining about explicit __constant to __private memory conversion, which is now worked around using implicit conversion. It's not a real fix i'm afraid and i'm still failing to build OpenCL kernel with latest Linux drivers, but maybe it'll let someone else to investigate what causes compiler to run out of memory?
2015-02-20Fix T43550: Bug in Cycles Bake TextureSergey Sharybin
Issue was caused by the changes in 7b16fda which changed the initial state for rng. This commit makes it so the same initial hash is used (which solves the regression without distorting AA-looking image. It also makes it so OpenCL compiler is happy about this code (before this change it'll complain about trying to cast private variable to global one).
2015-02-20Fix T43651: New pointiness attribute doesn't work with displacementSergey Sharybin
Simple fix: just make pointiness aware of bump offset.
2015-02-19Cycles: Make sphere and tube image mapping friendly with OpenCLSergey Sharybin
OpenCL doesn't let you to get address of vector components, which is kinda annoying. On the other hand, maybe now compiler will have more chances to optimize something out.
2015-02-18Cleanup: Remove unused SD_PHASE_HAS_EVAL flag.Thomas Dinges
We only have a non-singular volume closure and therefore no need to distinguish it.
2015-02-18Cleanup for Cycles hair shader ifdefs.Thomas Dinges
sc->T and sc->data2 were behind __HAIR__ ifdef, now they are not anymore, so we can always assign the correct value.
2015-02-18Cycles: Avoid over-allocation in decouple ray marchingSergey Sharybin
It could have happened with really long rays and small steps. Step size will be adjusted to the clamped number of steps in order to preserve render result compatibility as much as possible. We should probably reformulate this a bit, so it will give the same looking results without step tweaks. But this new behavior should already be much better that it was before.
2015-02-17Cleanup: Add comment about light_p being modified in one case.Thomas Dinges
2015-02-17Cycles: Cleanup after recent changesSergey Sharybin
2015-02-17Some tweaks to last commit, this is better.Thomas Dinges