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
2019-08-26Cleanup: use saturate3() for float3 clampingPatrick Mours
Ref D5363
2019-08-26Cycles: GPU code generation optimizations for direct lightingPatrick Mours
Use a single loop to iterate over all lights, reducing divergence and amount of code to generate. Moving ray intersection calls out of conditionals will also help the Optix compiler. Ref D5363
2019-08-26Cycles: inline more functions on the GPUPatrick Mours
This makes little difference for CUDA and OpenCL, but will be helpful for Optix.
2019-08-26Cycles: change svm node decoding for more efficient code generation on GPUPatrick Mours
These functions no longer accept NULL. They were renamed for clarity and to avoid hidden merge issues. Ref D5363
2019-08-26Cycles: remove workaround to pass ray by valuePatrick Mours
CUDA is working correct without it now, and it's more efficient not to do this. Ref D5363
2019-08-26Cycles: tweaks for better GPU code generationPatrick Mours
Uninitialized variables are harder to handle for the compiler. Ref D5363
2019-08-26Cycles: fixes for building kernel without certain featuresPatrick Mours
Ref D5363
2019-08-26Cleanup: fix use of wrong constantPatrick Mours
Ref D5363
2019-08-26Cleanup: fix compiler warningBrecht Van Lommel
2019-08-23RNA: Cleanup PointerRNA structJacques Lucke
The old layout of `PointerRNA` was confusing for historic reasons: ``` typedef struct PointerRNA { struct { void *data; } id; struct StructRNA *type; void *data; } PointerRNA; ``` This patch updates it to: ``` typedef struct PointerRNA { struct ID *owner_id; struct StructRNA *type; void *data; } PointerRNA; ``` Throughout the code base `id.data` was replaced with `owner_id`. Furthermore, many explicit pointer type casts were added which were implicit before. Some type casts to `ID *` were removed. Reviewers: brecht, campbellbarton Differential Revision: https://developer.blender.org/D5558
2019-08-22Shading: Add object color to Object Info node.OmarSquircleArt
The object color property is added as an additional output in the Object Info node. Reviewers: brecht Differential Revision: https://developer.blender.org/D5554
2019-08-22Fix T69044: OpenCL fail due to bad fract function.OmarSquircleArt
The fract function in OpenCL does more than just return the fraction. It also writes the floor to the second argument. Which wasn't put in consideration. Instead, we use a simple `a - floor(a)` like the Math node. Reviewers: brecht Differential Revision: https://developer.blender.org/D5553
2019-08-21Shading: Add Volume Info node.OmarSquircleArt
The Volume Info node provides the Color, Desnity, Flame, and Temperature of smoke domains. Reviewers: brecht Differential Revision: https://developer.blender.org/D5551
2019-08-21Shading: Add White Noise node.OmarSquircleArt
The White Noise node hashes the input and returns a random number in the range [0, 1]. The input can be a 1D, 2D, 3D, or a 4D vector. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5550
2019-08-21Shading: Add more operators to Vector Math node.OmarSquircleArt
Add Multiply, Divide, Project, Reflect, Distance, Length, Scale, Snap, Floor, Ceil, Modulo, Fraction, Absolute, Minimum, and Maximum operators to the Vector Math node. The Value output has been removed from operators whose output is a vector, and the other way around. All of those removals has been handled properly in versioning code. The patch doesn't include tests for the new operators. Tests will be added in a later patch. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5523
2019-08-21Cleanup: Fix build error with MSVCLazydodo
Previously eigens internal include order somehow implicitly provided M_PI and friends. The recent eigen version bump broke this implicit behaviour, better to be explicit that we need the math defines for MSVC.
2019-08-20Fix use of uninitialized variable in Cycles math nodeBrecht Van Lommel
2019-08-20Cycles Tests: Fix Math tests when use_clamp is true.OmarSquircleArt
The clamp option is implemented using graph expansion, where a Clamp node named "clamp" is added and connected to the output. So the final result is actually from the node "clamp". Reviewers: brecht Differential Revision: https://developer.blender.org/D5540
2019-08-20Cleanup: clang-format, sorted listsCampbell Barton
2019-08-20Memory: Fix guarded aligned malloc with small alignmentJacques Lucke
When calling `MEM_guarded_mallocN_aligned` with an alignment of 4, a pointer that was returned that is 4 byte but not 8 byte aligned. When freeing this pointer, `MEM_guarded_freeN` thinks that it is an illegal pointer, because it asserts that `((intptr_t)memh) & 0x7 == 0`. The fix is to always use at least 8 byte alignment. Reviewers: brecht Differential Revision: https://developer.blender.org/D5529
2019-08-18Shading: Refactor Math node and use dynamic inputs.OmarSquircleArt
- Implement dynamic inputs. The second input is now unavailable in single operand math operators. - Reimplemenet the clamp option using graph expansion for Cycles. - Clean up code and unify naming between Blender and Cycles. - Remove unused code. Reviewers: brecht Differential Revision: https://developer.blender.org/D5481
2019-08-17Cleanup: spellingCampbell Barton
2019-08-16Cleanup: spellingCampbell Barton
2019-08-16Fix T55054: possible use of unsupported instructions in Cycles texture codeLazydodo
Differential Revision: https://developer.blender.org/D5326
2019-08-14OpenVDB: mesh/level set conversion, filters and CSG operationsPablo Dobarro
This code is needed to implement the Voxel Remesher as well as other features like a better remesh modifier with filters and CSG operations. Done by Martin Felke and Pablo Dobarro Reviewed By: brecht Differential Revision: https://developer.blender.org/D5364
2019-08-14Cleanup: clang-format, sort structs & cmake filesCampbell Barton
2019-08-14Cleanup: don't unnecessarily use ustring in IES file parsingBrecht Van Lommel
2019-08-14Fix cycles crash when voxel attributes changedPhilipp Oeser
This could happen e.g. when changing smoke type from flow to domain or connecting a volume shader with to a domain without an actual flow type around. Fixes T58569, T68359 Reviewers: brecht Maniphest Tasks: T58569, T68359 Differential Revision: https://developer.blender.org/D5478
2019-08-14Shading: Add a clamp option to the Map Range node.OmarSquircleArt
If the option is enabled, the output is clamped to the target range. The target range is [To Min, To Max]. The option is enabled by default. The clamp option is implemented in EEVEE by linking to the `clamp_value` GLSL function. And it is implemented in Cycles using a graph expand function. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5477
2019-08-13Shading: Add Clamp node to Cycles and EEVEE.OmarSquircleArt
This patch adds a new node that clamps a value between a maximum and a minimum values. Reviewers: brecht Differential Revision: https://developer.blender.org/D5476
2019-08-13Shading: Add Map Range node to Cycles and EEVEE.OmarSquircleArt
This patch adds a new Map Range node that linearly remaps an input value from a range to another. This node is similar to the compositor's Map Range node. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5471
2019-08-13Fix build errors with older GCC versions like 4.9Brecht Van Lommel
We can add more fine grained checks for when these flags are supported so that adding asan flags manually still has all the workarounds, but for now compiling succesfully is more important.
2019-08-11Cleanup: spellingCampbell Barton
2019-08-05Cycles: Fix wrong number of threads on multi-socket machinesSergey Sharybin
The issue was caused by a limitation of GetNumaNodeProcessorMask(): on systems with more than 64 processors, this parameter is set to the processor mask for the node only if the node is in the same processor group as the calling thread. Otherwise, the parameter is set to zero. Patch from Max Dmitrichenko, thanks!
2019-08-05Build: disable address sanitizer for Cycles optimized kernels with GCCBrecht Van Lommel
It's extremely slow to compile and run, so just disable it unless WITH_CYCLES_KERNEL_ASAN is manually enabled. For Clang it's always enabled since that appears to work ok. This also limits the -fno-sanitize=vptr flag to the Cycles kernel, as it was added specifically to work around an issue there. Differential Revision: https://developer.blender.org/D5404
2019-08-05Cycles: Fix compilation on 32bit Linux with GCC-9Sergey Sharybin
We don't use explicit SIMD flags on 32bit, so trying to use intrinsics was causing issues.
2019-08-04Cleanup: Mark large arrays of of constant data as const.Lazydodo
For background information see D5345 Reviewers: brecht, sergey Differential Revision: https://developer.blender.org/D5345
2019-08-04Cleanup: spellingCampbell Barton
2019-08-02Build: disable RTTI for the entire Cycles module, not only the kernelBrecht Van Lommel
The partial disabling was causing issues with Clang and ASAN, and it seems we don't need to restrict it to the kernel anymore now that we are no longer using boost directly.
2019-08-02Fix T68073: Wacom Intuos 5S no pen pressure on WaylandSebastian Parborg
The issue is that wayland seems to impose a generic device naming scheme when using Xwayland For example any table stylus will show up with the following naming convention: xwayland-stylus:33 For this to work in blender, I had to modify how the identifier string is extracted. I also renamed the two char pointers in the search algorithm to be more logical. Reviewed By: Brecht Differential Revision: http://developer.blender.org/D5401
2019-08-02Cleanup: spellingCampbell Barton
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
2019-07-31Merge per-shader SVM nodes in the main update thread to avoid locking and ↵Lukas Stockner
resizing overhead In a test file containing 1300 copies of the same shader, this reduces shader update time from 3.1 sec to 0.05 sec. Thanks to @swerner for noticing this issue. Reviewers: brecht, sergey, swerner Subscribers: swerner Differential Revision: https://developer.blender.org/D5376
2019-07-31Fix: Cycles reporting incorrect number of samples in viewport renderJeroen Bakker
During viewport rendering where the viewport samples are set to 0 the UI showed 16777216 as number of samples. We should not show the number of samples when the number of viewport samples are set to 0. Differential Revision: https://developer.blender.org/D5301
2019-07-31Spelling fixes in comments and descriptions, patch by luzpazBrecht Van Lommel
Differential Revision: https://developer.blender.org/D3744
2019-07-23Fix T67089: Solve camera motion generates "Solve error: nan"Sergey Sharybin
The code was missing some checks for whether keyframe selection went successfully and whether reconstruction has been successfully initialized. The interface still gives quite generic message, with the details printed to the console. This can be addressed separately.
2019-07-15cleanup: typo in cycles 'min_transparent_bounces' tooltipPhilipp Oeser
Reviewers: brecht Differential Revision: https://developer.blender.org/D5249
2019-07-11Fix T66604: Cycles bake crash on specific scene with volumeSergey Sharybin
The issue was caused by un-initialized local storage for volume intersection hits which are supposed to be stored in per-thread KernelGlobals. Fix is to make thread_shader() be the same as thread_render() in respect of KernelGlobals. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D5230
2019-07-11Fix T66691: Ceash trying to render the 2.80 splash imageSergey Sharybin
Was caused by ray direction becoming NaN after some of the bounces.
2019-07-10C Logging: add macro to check if logging is enabledCampbell Barton