Revision 7bddb79 by Lukas Stockner / Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Fix another OpenCL logging issue Previously an error message would be printed whenever the OpenCL build produced output. However, some frameworks seem to print extra information even if the build succeeded, so now the actual returned error is checked as well. When --debug-cycles is activated, the build output will always be printed, otherwise it only gets printed if there was an error. |
Revision 3778475 by Lukas Stockner / Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Fix T49630: Cycles: Swapped shader and bake kernels The problem here was, as the title says, that the two kernels were swapped. Since shader evaluation is only used for building the samling map when World MIS is enabled, rendering without it would still work fine, although baking also was broken. |
Revision edac0e7 by Lukas Stockner / Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Improve OpenCL kernel compilation logging The previous refactor changed the code to use a separate logging mechanism to support multithreaded compilation. However, since that's not supported by any frameworks yes, it just resulted in bad logging behaviour. So, this commit changes the logging to go diectly to stdout/stderr once again by default. |
Revision 290e37d by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Disable optimization of operator / for float3 This was giving some speedup but made intersection tests to fail from watertight point of view. Needs deeper investigation, but need to quickly get it fixed for the studio. |
Revision f9b0c10 by Brecht Van Lommel / Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Fix build error with WITH_CYCLES_NATIVE_ONLY and recent AVX2 changes. |
Revision 87ca259 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Use const reference for register variables in non-OpenCL code This is something tested by @LazyDodo and suggested by Maxym to make MSVC happier. |
Revision 73bae90 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Use more SSE intrinsics for float3 type This gives about 5% speedup on AVX2 kernels (other kernels still have SSE disabled for math operations) and this solves the slowdown of koro scene mention in the previous commit. The title says it all actually. This commit also contains changes to pass float3 as const reference in affected functions. This should make MSVC happier without breaking OpenCL because it's only done in areas which are ifdef-ed for non-OpenCL. Another patch based on inspiration from Maxym Dmytrychenko, thanks! |
Revision c01d7c8 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Implement AVX2 version of triangle_intersect This commit basically vectorizes existing code using AVX2 instructions (without modifying algorithm itself). This gives quite nice speedups: BMW: -8% Classroom: -5% Cat: -5% Koro: +1% Barcelona: -8% That's on Linux machine, reported performance improvement on Windows goes up to 20%. Not currently sure why Koro is somewhat slower because it mainly uses curve intersection tests, could be a time noise? Or osmething with the cache utilization perhaps? In any case speedup in other scenes makes me thinking that current state is acceptable for initial implementation. This is again inspired by Maxym Dmytrychenko. |
Revision 804d471 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Add new avxf vectorized data type Based on existing ssef data type and to my knowledge it's also what happens in Embree nowadays. Inspired by Maxym Dmytrychenko and required for the upcoming triangle intersection commit. Hopefully the copyright message is correct. |
Revision 19203b4 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Enable SSE options of math module for AVX2 kernels Currently this does not give measurable difference, but is required ground work for some upcoming further optimization of AVX2 kernels. |
Revision dff65a0 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Cleanup, style |
Revision 3d7eb44 by Lukas Stockner / Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Split device_opencl.cpp into multiple files for easier maintenance There are no user-visible changes, just some internal restructuring. Differential Revision: https://developer.blender.org/D2231 |
Revision acd02c7 by Ray molenkamp / Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
[Windows/Cycles/Clang] Fix compilation error with clang-cl on windows |
Revision 2482bb1 by Alexander Gavrilov / Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: implement partial constant folding for exponentiation. This is also an important mathematical operation that can be folded if it is known that one argument is a certain constant. For colors the operation is provided as a Gamma node. The SVM Gamma node needs a small fix to make it follow the 0 ^ 0 == 1 rule, same as the Power node, or the Gamma node itself in OSL mode. Reviewers: #cycles Differential Revision: https://developer.blender.org/D2263 |
Revision 7ef3dfe by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Cleanup, indentation |
Revision e716f10 by Lukas Stockner / Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Use correct light sampling PDF for MIS calculation with Branched Path Tracing The light sampling functions calculate light sampling PDF for the case that the light has been randomly selected out of all lights. However, since BPT handles lamps and meshlights separately, this isn't the case. So, to avoid a wrong result, the code just included the 0.5 factor in the throughput. In theory, however, the correction should be made to the sampling probability, which needs to be doubled. Now, for the regular calculation, that's no real difference since the throughput is divided by the pdf. However, it does matter for the MIS calculation - it's unbiased both ways, but including the factor in the PDF instead of the throughput should give slightly better results. Reviewers: sergey, brecht, dingto, juicyfruit Differential Revision: https://developer.blender.org/D2258 |
Revision e04cc46 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Cleanup, whitespace |
Revision 35346dc by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Make code more uniform across two versions of shadow_blocked() Just to make it easier to research ways of possible code de-duplication. |
Revision 3f4bac1 by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Remove out of date comment |
Revision a27dd4b by Sergey Sharybin (blender-v2.78b-release, blender-v2.78c-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 20, 2017, 10:25 (GMT) |
Cycles: Make regular bvh traversal functions close to each other |
|