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-27Cycles/Windows: Fix over estimation of System RAM.Ray Molenkamp
`system_physical_ram` reported 1024x more System RAM than what was actually available.
2019-08-26Fix T69185: Cycles kernel OpenCL compile error after recent changesBrecht Van Lommel
2019-08-26Cycles: support move semantics for device_memoryPatrick Mours
Ref D5363
2019-08-26Cycles: refactor of BVH building to prepare for OptixPatrick Mours
Ref D5363
2019-08-26Fix Cycles session being (re)created twicePatrick Mours
In most cases this only makes a small startup time difference, but there is no reason to do this. Ref D5363
2019-08-26Cleanup: fix compiler warningsBrecht Van Lommel
2019-08-26Cleanup: avoid unnecessary primitive type lookup and variable initializationPatrick Mours
Ref D5363
2019-08-26Cycles: optimize Sobol loopPatrick Mours
Ref D5363
2019-08-26Cleanup: add zero bit counting functionsBrecht Van Lommel
2019-08-26Cycles: code to optionally zero initialize some structs in the kernelBrecht Van Lommel
This will be used by Optix to help the compiler figure out scoping. It is not used by other devices currently, but worth testing if it helps there too. Ref D5363
2019-08-26GPencil: Invert Paste operator and make Paste to Active defaultAntonio Vazquez
Before there were two options: Paste to original layer called "Paste" and Paste to active layer called "Paste & Merge" Now, by default the paste is in active layer and the "Paste & Merge" has been renamed "Paste". For old "Paste", now is called "Paste by Layer" and it's not the default value anymore. Note: Minor edits to add icons not present in Differential revision. Differential Revision: https://developer.blender.org/D5591
2019-08-26Cycles: Fix Architecture logging on x64.Lazydodo
x64 builds with WITH_CYCLES_OPTIMIZED_KERNEL_SSE2 not defined since SSE2 is the lower bar for x64 cpus. Turning the architecture logging related if into the last if in the architecture detection chain, which will never execute unless you turn off all kernels in de debug flags. Reviewers: brecht Differential Revision: https://developer.blender.org/D5579
2019-08-26Cleanup: simplify perlin noise function definitionPatrick Mours
Ref D5363
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