Commit: b47c3b41829a4e5921b3509c9efc771b25c01ea4
Author: Howard Trickey
Date:   Thu Aug 15 08:30:17 2019 -0400
Branches: newboolean

Merge from master.

commit e4084f8b24197ede2546da90459cb1b5ad0fd9a8
Author: Howard Trickey <>
Date:   Thu Aug 15 07:55:29 2019 -0400

    Fix CDT bug causing crash with some output modes.

    Forgot to properly maintain the edge for faces while
    dissolving edges.

commit 48a6997e2a0657d8b238101b84b688b37bc88875
Author: Campbell Barton <>
Date:   Thu Aug 15 20:55:24 2019 +1000

    Fix T64888: full-screen button overlaps side-bar

commit 95a0144293b840bfbdcb6a41c1a3a26976961b9b
Author: mano-wii <>
Date:   Thu Aug 15 08:29:34 2019 -0300

    Fix T68684: Vertex snapping with median not working if the object is not at 
center of the world

commit 9e54e6bdc57911be2911a7537ab9f67d87e31df0
Author: Antonio Vazquez <>
Date:   Thu Aug 15 13:17:28 2019 +0200

    Cleanup: Minor change to previous commit

commit 143a44caeb4dc00f27b66b55d35a868127b5e4a9
Author: Antonio Vazquez <>
Date:   Thu Aug 15 13:14:43 2019 +0200

    GPencil: Fix unreported missing VFX in Video Editor

    As the video editor mode is not Render mode the VFX was omitted.

    Now, the mode is only checked for View3D.

commit ff1ea600c98ba542c3b950fcfaf350626e078899
Author: Philipp Oeser <>
Date:   Thu Aug 15 11:39:45 2019 +0200

    Fix T68675: particle edit mode makes blender crash

    In rB9c010c44f420, DRW_mesh_batch_cache_create_requested was changed to
    take a scene (instead of toolsettings directly), but
    DRW_draw_depth_object is calling this with with NULL, just checking for
    this seems to fix...

    Reviewers: fclem

    Maniphest Tasks: T68675

    Differential Revision:

commit eac2a7ab0ecd7fe90cd58213ca96004a1e6a6d33
Author: Campbell Barton <>
Date:   Thu Aug 15 19:46:29 2019 +1000

    Fix full-screen button overlapping navigation gizmo

commit e6fa174fd7744a88c1ea9a986fdb9b7e908c9047
Author: Campbell Barton <>
Date:   Thu Aug 15 18:18:22 2019 +1000

    UI: skip drawing the full-screen when alpha is zero

commit a2a9c95845559b0bfffaf4b6b5e32e31ed3da7a1
Author: Campbell Barton <>
Date:   Thu Aug 15 18:17:33 2019 +1000

    Fix T68678: Invisible fullscreen button

    Regression from 6148ed8cf9ca

commit c7598cd1a517fd6d0eb9c903d6727dcd1449d1a2
Author: Campbell Barton <>
Date:   Thu Aug 15 19:50:52 2019 +1000

    Cleanup: spelling

    Missed in recent commit.

commit 5b04829d43996267f2dec8ef5a1418e71647b3c5
Author: Brecht Van Lommel <>
Date:   Thu Aug 15 11:24:19 2019 +0200

    Cleanup: replace commented out code by comment

commit 32395dd4e2f6c18de1678b69bbba6ac38eec674e
Author: Bastien Montagne <>
Date:   Thu Aug 15 11:07:44 2019 +0200

    UI: Finalize old TODO in UI float number handling.

    Just enable some commented-out code from rB636289b755f6ce (disabled at
    that time because we were too close of 2.79 release...).

    Issue raised in D5486, thanks.

commit 63b3cc17021d92ac59ac4edc6142e2d434f23f21
Author: Campbell Barton <>
Date:   Thu Aug 15 16:48:21 2019 +1000

    Cleanup: spelling

commit 1ddc12ceb922241d485ac9a1842c4c6f3d4ab300
Author: Campbell Barton <>
Date:   Thu Aug 15 16:39:57 2019 +1000

    Cleanup: unused warnings

    Reminder not to leave in unused code, or comment why it should be kept.

commit bb2394a29889157a330bd1064d248c04055b117c
Author: Campbell Barton <>
Date:   Thu Aug 15 15:53:11 2019 +1000

    Fix T68014: Add-on's override Python built-in modules

    Append addon paths to the sys.path to avoid name
    collisions with system modules.

commit 7c258a8ad1b04a91d24b015fed6c5eae020bf8cc
Author: Campbell Barton <>
Date:   Thu Aug 15 05:13:20 2019 +1000

    Mesh: bypass legacy tessface conversion step when remeshing

commit f4d548d384e20ef377b2573a6c54a2434c3f9134
Author: Lazydodo <>
Date:   Wed Aug 14 17:57:01 2019 -0600

    msvc: Enable /bigobj on all object files.

    bf_intern_openvdb makes a significant number of template instantiations
    causing it go over the maximum number of sections (int16) in a coff file
    when doing a debug build.

    This change switches the compiler to use the extended coff format which
    has this field extended (int32) all linkers post msvc2005 can process
    this format so there's no reason not to turn this on globally.

    Clang on windows does not need this change since clang switches implicitly
    to the extended format when required. [1]


commit cb7ead2e3b62b9f1df85c985801db7918204dd2a
Author: Dalai Felinto <>
Date:   Wed Aug 14 15:08:25 2019 -0300

    Fix T68658: Text offset makes scale to fit not to work

    Differential Revision:

commit 5ff8fcfa7241e2b15c6ac110538f40e277db3f37
Author: Clément Foucault <>
Date:   Wed Aug 14 23:43:33 2019 +0200

    Eevee: Fix tangent map node not using the right UVMap

commit 6fcd071c7bcb8c9a5e0a7d0e7a6ef6363e43627e
Author: Clément Foucault <>
Date:   Wed Aug 14 23:43:03 2019 +0200

    GPU: Vertex Format: Increase number of byte per attribute name

    This reduces the risks of hash collision while maintaining a small number
    of character per attrib.

commit 80e9eb66d568311f4acddf5dfe5bbf8f8618f18d
Author: Clément Foucault <>
Date:   Wed Aug 14 22:43:44 2019 +0200

    Mesh Batch Cache: Split UV an tangent into 2 distinct VBOs

    This is done because they don't have the same update frequency. UV can be
    persistent even on geometry update (ex: skinned object) but tangents
    can change if the normals change.

    Also the name buffer per vbo was too small to contain all names.

commit deb5416a1a50e153cf2f9e3809755a5e82bd8f85
Author: Clément Foucault <>
Date:   Wed Aug 14 22:18:47 2019 +0200

    GPU: Vertex Format: ADd function for safe GLSL attrib name

    This remove code duplication and use base63 encoding of the hash.
    Use mumur hash to have more randomness.

commit 67f49f9c03c95eb3a62ece38db0ae8feafd4992e
Author: Brecht Van Lommel <>
Date:   Wed Aug 14 23:26:26 2019 +0200

    Cleanup: fix compiler warnings

commit 037cf920b42d9b3404687235c524516e50a31561
Author: Pablo Dobarro <>
Date:   Wed Aug 14 22:54:23 2019 +0200

    Sculpt: mesh abstraction API

    These functions make possible porting the tools from the sculpt branch, 
making them compatible with PBVH_FACES and PBVH_BMESH without duplicating the 
code. They can also help to simplify some existing code.

    These functions should not be used when working with PBVH_GRIDS data in 
SculptSession. PBVH_GRIDS needs to be removed from the sculpt code and 
converted to PBVH_FACES to be compatible with this API.

    Reviewed By: brecht

    Differential Revision:

commit 5489611e53176ad4c1d5ac626db6377b27624cce
Author: Brecht Van Lommel <>
Date:   Wed Aug 14 15:30:26 2019 +0200

    Compositor: Added denoising node

    This node is built on Intel's OpenImageDenoise library.
    Other denoisers could be integrated, for example Lukas' Cycles denoiser.

    Compositor: Made OpenImageDenoise optional, added CMake and build_env files 
to find OIDN

    Compositor: Fixed some warnings in the denoising operator

    build_environment: Updated OpenImageDenoise to 0.8.1

    build_environment: Updated OpenImageDenoise in `make deps` for macOS

    Reviewers: sergey, jbakker, brecht

    Reviewed By: brecht

    Subscribers: YAFU, LazyDodo, Zen_YS, slumber, samgreen, tjvoll, yeus, 
ponomarovmax, getrad, coder.kalyan, vitos1k, Yegor, DeepBlender, kumaran7, 
Darkfie9825, aliasguru, aafra, ace_dragon, juang3d, pandrodor, cdog, lordodin, 
jtheninja, mavek, marcog, 5k1n2, Atair, rawalanche, 0o00o0oo, filibis, poor, 

    Tags: #compositing

    Differential Revision:

commit 1845f0ee8b33698ddd48c22000004ad4084a77ab
Author: Lazydodo <>
Date:   Wed Aug 14 12:52:17 2019 -0600

    Cleanup: Fix build error with MSVC

    C99 style initializers are C++20 feature and should not be used.

    Reported by @deadpin on chat.

commit 655f5818a589539b286641450c00d27a5cac2bff
Author: Campbell Barton <>
Date:   Thu Aug 15 04:46:10 2019 +1000

    Cleanup: use BKE_mesh_ prefix for the remesh API

    These functions deal with voxel remeshing of Mesh data,
    and aren't related to MOD_remesh.c for e.g.

    Name so other kinds of remeshing wont cause confusion.

commit 76e5b4bee4ed4b7bce5ffb7f9cbf0b5615c7473b
Author: Campbell Barton <>
Date:   Thu Aug 15 03:51:06 2019 +1000

    Fix T68657: Voxel remesh crash

    Mesh was being double freed.

commit 8ee3e7da28dfea237aa41bcd3a4c24ad01e1837c
Author: Campbell Barton <>
Date:   Thu Aug 15 03:26:39 2019 +1000

    Cleanup: use doxy sections for wm_operators.c

commit 966f4a162be5ad594c6d8ed5cd742c3c0bf56c46
Author: Campbell Barton <>
Date:   Thu Aug 15 03:41:36 2019 +1000

    Cleanup: warnings, unnecessary nested header

commit 9c010c44f4201ab114b3facc69d0343525a1779f
Author: Clément Foucault <>
Date:   Sun Jul 14 16:49:44 2019 +0200

    Mesh Batch Cache: Refactor + Multithread

    For clarity sake, the batch cache now uses exclusively per Loop attributes.
    While this is a bit of a waste of VRAM (for the few case where per vert
    attribs are enough) it reduces the complexity and amount of overall VBO
    to update in general situations.

    This patch also makes the VertexBuffers filling multithreaded. This make
    the update of dense meshes a bit faster. The main bottleneck is the
    IndexBuffers update which cannot be multithreaded efficiently (have to
    increment a counter and/or do a final sorting pass).

    We introduce the concept of "extract" functions/step.
    All extract functions are executed in one thread each and if possible,
    using multiple thread for looping over all elements.

    Reviewed By: brecht

    Differential Revision:

commit 45a45f7d66211e82a3a3288782ad9523e8fdc516
Author: Pablo Dobarro <>
Date:   Wed Aug 14 18:37:46 2019 +0200

    OpenVDB: Voxel Remesher

    The voxel remesher introduces a new workflow for sculpting without any of 
the limitations of Dyntopo (no geometry errors or performance penalty when 
blocking shapes). It is also useful for simulations and 3D printing.

    This commit includes:
    - Voxel remesh operator, voxel size mesh property and general remesh flags.
    - Paint mask reprojection.
    - Geometry undo/redo for sculpt mode. This should support remesh operations 
as well as future tools that modify the topology of the sculpt in a single 
step, like trimming tools or mesh insert brushes.
    - UI changes in the sculpt topbar and the mesh properties pannel.

    Reviewed By: brecht

    Differential Revision:

commit 16c28b5a6784dfdc22535cef14961a9a95136a44
Author: Alexander Gavrilov <>
Date:   Wed Aug 14 19:17:52 2019 +0300

    UI: suppress Copy/Paste/Edit Driver options on whole array property fields.

    When a button represents the whole array (e.g. color picker buttons),
    these context menu options were available, but didn't really work
    correctly. Since it's not clear how they could reasonably work without
    a valid index, it's better to hide them.

commit 9ac3964be198a9bcbbcf2cda2ecd99047eae560f
Author: Pablo Dobarro <>
Date:   Wed Aug 14 17:46:20 2019 +0200

    OpenVDB: mesh/level set conversion, filters and CSG operations

    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:

commit 5ca5357e08f25b1fcda95c084ac24722c5177b5e
Author: Bastien Montagne <>
Date:   Wed Aug 14 17:48:06 2019 +0200

    Install_deps: bump official numpy version to 1.17.0

    Following recent ;ails re python version bump (looks like py version
    itself had already been bumped in that script).

commit 4b9e05b42898073c65d97e20295a773f6ce7e78b
Author: Campbell Barton <>
Date:   Thu Aug 15 01:34:58 2019 +1000

    Cleanup: clang-format, sort structs & cmake files

commit 8cbe9f1b9ad8ba63eadbd15270338c24005e0e9c
Author: Campbell Barton <>
Date:   Thu Aug 15 01:20:27 2019 +1000

    Cleanup: headers

commit c5c4012b107c03dac2ebff321fd36c57c2c7d051
Author: Campbell Barton <>
Date:   Thu Aug 15 01:12:58 2019 +1000

    Cleanup: split out splash screen into own file

    `wm_operators.c` is mainly for generic operator logic
    where as the splash screen is one of a kind.

commit 9bc10c1f542d3fee601ea35536a3375367cf3652
Author: Campbell Barton <>
Date:   Thu Aug 15 01:05:15 2019 +1000

    Cleanup: remove comment to workaround weak code parsing

    This is quite an old comment, recent IDE's/editors
    should be able to handle escaped quotes in strings.

    If kludges like this are needed, developers should note exactly why.

commit 2623e68c3b0e43134027dda33cd5ec1fc45b3bdc
Author: Antonioya <>
Date:   Wed Aug 14 17:32:00 2019 +0200

    GPencil: Revert commit d727f4f22340 (Interpolate menu)

    The menu is not redundant,  it is just another way to reach the tool and 
also give more discoverability of the operator shortcut (Many tools in Blender 
are also on menus, toolbar or header, just think of Move, Rotate, Scale).

    There is also no reason to force the user/artist to change to edit mode for 
interpolate strokes, when the tool works perfectly in drawing mode too. It 
would only slow down the 2D animation workflow.

    Reviewers: @mendio

commit 63bf2ddc5dcf698f30230c326d55a28088e9a8ee
Author: Bastien Montagne <>
Date:   Wed Aug 14 17:25:40 2019 +0200

    Fix main part of T68646: Library overrides: Broken parenting (parent 
inverse matrix gets reset) after reload.

    We need a custom 'apply override' callback here to prevent resetting
    the inverse parent matrix.

    Things are now working for basic cases, but complex ones (in production
    rigs e.g.) are still partially broken...

commit 05417b22206c479b5ebe8ac8e7dd73ae154c8c96
Author: Sybren A. Stüvel <>
Date:   Tue Aug 13 15:35:48 2019 +0200

    Text editor: syntax highlighting + line numbers on by default

    The most common use of the text editor seems to be for scripting. Having
    line numbers and syntax highlighting enabled by default seems sensible.

    Syntax highlighting is now enabled by default, but is automatically
    disabled when the datablock has a non-highlighted extension.
    Highlighting is enabled for filenames like:
        - Text
        - Text.001
    and is automatically disabled when the datablock has an extension for
    which Blender has no syntax highlighter registered.

    Reviewers: billreynish, campbellbarton

    Subscribers: brecht, billreynish

    Differential Revision:

commit 72eb70f93328e4e19a319aa199f6c46a0c8ab420
Author: Sybren A. Stüvel <>
Date:   Wed Aug 14 16:45:45 2019 +0200

    Added missing forward declaration

commit f0f5e11b33ed15de47ba87d2d86295fcfb030fe0
Author: Clément Foucault <>
Date:   Wed Aug 14 15:56:45 2019 +0200

    Eevee: Fix: Regression when using ssr and default shader

commit 0dcd442c1f23e0210363cb6c2ec0c2a6e39c35af
Author: Jacques Lucke <>
Date:   Wed Aug 14 16:12:16 2019 +0200

    Fix T68487: double free when inserting keyframe outside of action clip range

commit b7f86ff72273ffa546c7b06bcebfed85fe67951d
Author: Julian Eisel <>
Date:   Wed Aug 14 15:51:54 2019 +0200

    Fix Area.ui_type invalid during area change

    To reproduce:
    * Split 3D View to show Info Editor
    * Change 3D View a few times to various subtypes (Timeline, UV Editor
    Every now and then, the Info Editor should show `UNKNOWN ENUM`. Other
    prints may also be lagging behind.

    Reviewed By: campbellbarton, brecht
    Differential Revision:

commit 03b2371387dcae9f801cabbc1819b1d7e3350829
Author: Campbell Barton <>
Date:   Wed Aug 14 23:29:46 2019 +1000

    Cleanup: move trailing comments to avoid wrapping code

    Some statements were split across multiple lines because of their
    trailing comments.

    In most cases it's clearer to put the comments above.

commit bc4fe45aef7e52f9e7a2bd5e370c6791c58af832
Author: Campbell Barton <>
Date:   Wed Aug 14 23:25:30 2019 +1000

    Cleanup: pep8, prefix unused arg

commit e6425aa2bf3e6a9bba2f10066dc3f09cea11086f
Author: Julian Eisel <>
Date:   Wed Aug 14 15:27:10 2019 +0200

    Manage GPU_matrix stacks per GPUContext

    Previously, we had one global `GPU_matrix` stack, so the API was not
    thread safe. This patch makes the stack be per `GPUContext`, effectively
    making it local per thread (`GPUContext` is located in thread local

    Reviewed By: brecht
    Differential Revision:

commit 4074ab361e13444ae9a5d6b8bdf973fce2302021
Author: Clément Foucault <>
Date:   Wed Aug 14 14:28:57 2019 +0200

    Eevee: Fix background alpha regression

commit 7ae3aa7b63136ea590004ae2ca765697bf0756bc
Author: Brecht Van Lommel <>
Date:   Wed Aug 14 14:04:23 2019 +0200

    Cleanup: don't unnecessarily use ustring in IES file parsing

commit d2195d9ef24a0c8f9098e4791cf18468ba805dba
Author: Campbell Barton <>
Date:   Wed Aug 14 21:31:41 2019 +1000

    Fix T68637: Crash assigning caps-lock shortcut

    Report that this isn't supported instead, also for unknown key.

commit 67c10dbf1322bd09945c82354d5d3a9004e06bcd
Author: Clément Foucault <>
Date:   Mon Aug 12 18:40:52 2019 +0200

    Eevee: Add support for the holdout node

    Support should be full when using Alpha Blend mode and partial if using
    any other blend mode (opaque / alpha clip / alpha hashed).

commit 13d469e6f0c554399629febeb1fd8d680b873a90
Author: Clément Foucault <>
Date:   Tue Aug 13 00:11:36 2019 +0200

    Eevee: Remove Additive & Multiply Blend mode

    This commit also provide a compatibility code that will convert old
    materials using Additive or Multiply Blend mode to their node equivalent.

    This conversion is only done on outputs that are enabled for eevee.

commit d5002f007e8d770dea15f0881cd9d0a4f3aaf824
Author: Clément Foucault <>
Date:   Mon Aug 12 01:47:30 2019 +0200

    Eevee: Improve Transparent BSDF behavior

    Alpha blended Transparency is now using dual source blending making it
    fully compatible with cycles Transparent BSDF.

    Multiply and additive blend mode can be achieved using some nodes and are
    going to be removed.

commit 8a338950c6ddde37ddefadd75c39d4d2efc7aee3
Author: Clément Foucault <>
Date:   Sat Aug 10 23:29:50 2019 +0200

    Fix T68537 Eevee: Modulo node behaves unexpectedly/inconsistently

    There was still some float imprecision when both input values are equal.

commit 55c38f476e6d599eb5377334976ab71b97fe359a
Author: Alexander Gavrilov <>
Date:   Tue Aug 13 19:45:20 2019 +0300

    Custom Properties: allow changing the property UI to color picker.

    To fully support storing colors as a custom property, it is necessary
    to allow switching the property UI to the standard color picker button.
    That means in effect supporting custom property subtype values.

    Change RNA_property_subtype to look for a 'subtype' string field
    in _RNA_UI and parse it as an enum value. To minimize performance
    impact, only do it if the property is an array; also, don't use
    the custom subtype during RNA path parsing.

    On the python side, allow setting some most useful seeming values
    from the custom property settings editor.

    Also, since some color picker code seems to run into a risk of
    buffer overruns if the array size is wrong, check the size in
    the UI layout code to be safe.

    Reviewers: campbellbarton

    Differential Revision:


M       CMakeLists.txt
M       build_files/build_environment/CMakeLists.txt
M       build_files/build_environment/cmake/harvest.cmake
A       build_files/build_environment/cmake/openimagedenoise.cmake
M       build_files/build_environment/cmake/tbb.cmake
M       build_files/build_environment/cmake/versions.cmake
M       build_files/build_environment/
A       build_files/build_environment/patches/openimagedenoise.diff
A       build_files/cmake/Modules/FindOpenImageDenoise.cmake
M       build_files/cmake/config/blender_full.cmake
M       build_files/cmake/config/blender_lite.cmake
M       build_files/cmake/config/blender_release.cmake
M       build_files/cmake/macros.cmake
M       build_files/cmake/platform/platform_apple.cmake
M       build_files/cmake/platform/platform_unix.cmake
M       build_files/cmake/platform/platform_win32.cmake
M       intern/cycles/kernel/shaders/node_clamp.osl
M       intern/cycles/kernel/shaders/node_map_range.osl
M       intern/cycles/render/light.cpp
M       intern/cycles/render/light.h
M       intern/cycles/render/nodes.cpp
M       intern/cycles/util/util_ies.cpp
M       intern/cycles/util/util_ies.h
M       intern/openvdb/CMakeLists.txt
A       intern/openvdb/intern/
A       intern/openvdb/intern/openvdb_level_set.h
A       intern/openvdb/intern/
A       intern/openvdb/intern/openvdb_transform.h
M       intern/openvdb/
M       intern/openvdb/openvdb_capi.h
M       release/scripts/modules/
M       release/scripts/modules/bpy/utils/
M       release/scripts/modules/
M       release/scripts/startup/bl_operators/
M       release/scripts/startup/bl_ui/
M       release/scripts/startup/bl_ui/
M       release/scripts/startup/bl_ui/
M       release/scripts/startup/bl_ui/
M       release/scripts/startup/
M       source/blender/alembic/intern/abc_customdata.h
M       source/blender/alembic/intern/
M       source/blender/blenfont/intern/blf_font.c
M       source/blender/blenfont/intern/blf_glyph.c
M       source/blender/blenkernel/BKE_blender_version.h
M       source/blender/blenkernel/BKE_material.h
M       source/blender/blenkernel/BKE_mesh.h
A       source/blender/blenkernel/BKE_mesh_remesh_voxel.h
M       source/blender/blenkernel/BKE_node.h
M       source/blender/blenkernel/BKE_paint.h
M       source/blender/blenkernel/BKE_pbvh.h
M       source/blender/blenkernel/BKE_writeavi.h
M       source/blender/blenkernel/CMakeLists.txt
M       source/blender/blenkernel/intern/action.c
M       source/blender/blenkernel/intern/armature.c
M       source/blender/blenkernel/intern/collection.c
M       source/blender/blenkernel/intern/curve.c
M       source/blender/blenkernel/intern/dynamicpaint.c
M       source/blender/blenkernel/intern/effect.c
M       source/blender/blenkernel/intern/fcurve.c
M       source/blender/blenkernel/intern/fmodifier.c
M       source/blender/blenkernel/intern/font.c
M       source/blender/blenkernel/intern/gpencil.c
M       source/blender/blenkernel/intern/library_override.c
M       source/blender/blenkernel/intern/library_query.c
M       source/blender/blenkernel/intern/main.c
M       source/blender/blenkernel/intern/mask.c
M       source/blender/blenkernel/intern/mesh.c
M       source/blender/blenkernel/intern/mesh_convert.c
M       source/blender/blenkernel/intern/mesh_evaluate.c
A       source/blender/blenkernel/intern/mesh_remesh_voxel.c
M       source/blender/blenkernel/intern/nla.c
M       source/blender/blenkernel/intern/node.c
M       source/blender/blenkernel/intern/object_dupli.c
M       source/blender/blenkernel/intern/particle.c
M       source/blender/blenkernel/intern/pointcache.c
M       source/blender/blenkernel/intern/softbody.c
M       source/blender/blenkernel/intern/unit.c
M       source/blender/blenlib/BLI_math_geom.h
M       source/blender/blenlib/BLI_path_util.h
M       source/blender/blenlib/BLI_string_utils.h
M       source/blender/blenlib/intern/delaunay_2d.c
M       source/blender/blenlib/intern/math_geom.c
M       source/blender/blenlib/intern/path_util.c
M       source/blender/blenlib/intern/string_utils.c
M       source/blender/blenloader/intern/readfile.c
M       source/blender/blenloader/intern/readfile.h
M       source/blender/blenloader/intern/versioning_280.c
M       source/blender/bmesh/operators/bmo_primitive.c
M       source/blender/bmesh/operators/bmo_removedoubles.c
M       source/blender/collada/MeshImporter.cpp
M       source/blender/compositor/CMakeLists.txt
M       source/blender/compositor/intern/COM_Converter.cpp
A       source/blender/compositor/nodes/COM_DenoiseNode.cpp
A       source/blender/compositor/nodes/COM_DenoiseNode.h
A       source/blender/compositor/operations/COM_DenoiseOperation.cpp
A       source/blender/compositor/operations/COM_DenoiseOperation.h
M       source/blender/draw/CMakeLists.txt
M       source/blender/draw/engines/eevee/eevee_engine.c
M       source/blender/draw/engines/eevee/eevee_lights.c
M       source/blender/draw/engines/eevee/eevee_materials.c
M       source/blender/draw/engines/eevee/eevee_mist.c
M       source/blender/draw/engines/eevee/eevee_occlusion.c
M       source/blender/draw/engines/eevee/eevee_private.h
M       source/blender/draw/engines/eevee/eevee_render.c
M       source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
M       source/blender/draw/engines/eevee/shaders/default_frag.glsl
M       source/blender/draw/engines/eevee/shaders/lights_lib.glsl
M       source/blender/draw/engines/eevee/shaders/prepass_frag.glsl
M       source/blender/draw/engines/gpencil/gpencil_engine.c
M       source/blender/draw/engines/workbench/workbench_studiolight.c
M       source/blender/draw/intern/draw_cache.c
A       source/blender/draw/intern/draw_cache_extract.h
A       source/blender/draw/intern/draw_cache_extract_mesh.c
M       source/blender/draw/intern/draw_cache_impl.h
M       source/blender/draw/intern/draw_cache_impl_mesh.c
M       source/blender/draw/modes/edit_mesh_mode.c
M       source/blender/editors/animation/keyframing.c
M       source/blender/editors/curve/editcurve.c
M       source/blender/editors/gpencil/gpencil_edit.c
M       source/blender/editors/include/ED_anim_api.h
M       source/blender/editors/include/ED_sculpt.h
M       source/blender/editors/include/ED_text.h
M       source/blender/editors/interface/interface.c
M       source/blender/editors/interface/interface_context_menu.c
M       source/blender/editors/interface/interface_handlers.c
M       source/blender/editors/interface/interface_layout.c
M       source/blender/editors/interface/interface_ops.c
M       source/blender/editors/interface/interface_utils.c
M       source/blender/editors/object/CMakeLists.txt
M       source/blender/editors/object/object_intern.h
M       source/blender/editors/object/object_ops.c
A       source/blender/editors/object/object_remesh.c
M       source/blender/editors/object/object_shader_fx.c
M       source/blender/editors/screen/area.c
M       source/blender/editors/screen/screen_ops.c
M       source/blender/editors/sculpt_paint/sculpt.c
M       source/blender/editors/sculpt_paint/sculpt_intern.h
M       source/blender/editors/sculpt_paint/sculpt_undo.c
M       source/blender/editors/space_node/CMakeLists.txt
M       source/blender/editors/space_node/drawnode.c
M       source/blender/editors/space_sequencer/CMakeLists.txt
M       source/blender/editors/space_text/space_text.c
M       source/blender/editors/space_text/text_draw.c
M       source/blender/editors/space_text/text_format.c
M       source/blender/editors/space_text/text_undo.c
M       source/blender/editors/space_view3d/view3d_edit.c
M       source/blender/editors/space_view3d/view3d_select.c
M       source/blender/editors/transform/transform_snap.c
M       source/blender/editors/uvedit/uvedit_draw.c
M       source/blender/gpu/CMakeLists.txt
M       source/blender/gpu/GPU_batch.h
M       source/blender/gpu/GPU_element.h
M       source/blender/gpu/GPU_matrix.h
M       source/blender/gpu/GPU_shader.h
M       source/blender/gpu/GPU_vertex_buffer.h
M       source/blender/gpu/GPU_vertex_format.h
M       source/blender/gpu/intern/gpu_batch.c
M       source/blender/gpu/intern/gpu_codegen.c
M       source/blender/gpu/intern/gpu_context.cpp
M       source/blender/gpu/intern/gpu_context_private.h
M       source/blender/gpu/intern/gpu_element.c
M       source/blender/gpu/intern/gpu_immediate.c
M       source/blender/gpu/intern/gpu_matrix.c
A       source/blender/gpu/intern/gpu_matrix_private.h
M       source/blender/gpu/intern/gpu_vertex_format.c
M       source/blender/gpu/intern/gpu_vertex_format_private.h
M       source/blender/gpu/shaders/gpu_shader_2D_edituvs_stretch_vert.glsl
M       source/blender/gpu/shaders/gpu_shader_material.glsl
M       source/blender/imbuf/intern/imageprocess.c
M       source/blender/imbuf/intern/openexr/openexr_api.cpp
M       source/blender/makesdna/DNA_material_types.h
M       source/blender/makesdna/DNA_mesh_types.h
M       source/blender/makesdna/DNA_node_types.h
M       source/blender/makesrna/RNA_access.h
M       source/blender/makesrna/RNA_types.h
M       source/blender/makesrna/intern/rna_access.c
M       source/blender/makesrna/intern/rna_curve.c
M       source/blender/makesrna/intern/rna_define.c
M       source/blender/makesrna/intern/rna_material.c
M       source/blender/makesrna/intern/rna_mesh.c
M       source/blender/makesrna/intern/rna_nodetree.c
M       source/blender/makesrna/intern/rna_object.c
M       source/blender/makesrna/intern/rna_rna.c
M       source/blender/makesrna/intern/rna_scene.c
M       source/blender/makesrna/intern/rna_screen.c
M       source/blender/makesrna/intern/rna_space.c
M       source/blender/makesrna/intern/rna_text.c
M       source/blender/makesrna/intern/rna_text_api.c
M       source/blender/makesrna/intern/rna_ui_api.c
M       source/blender/makesrna/intern/rna_wm.c
M       source/blender/makesrna/intern/rna_wm_gizmo.c
M       source/blender/modifiers/intern/MOD_bevel.c
M       source/blender/modifiers/intern/MOD_boolean.c
M       source/blender/modifiers/intern/MOD_simpledeform.c
M       source/blender/nodes/CMakeLists.txt
M       source/blender/nodes/NOD_composite.h
M       source/blender/nodes/NOD_static_types.h
A       source/blender/nodes/composite/nodes/node_composite_denoise.c
M       source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c
M       source/blender/nodes/shader/nodes/node_shader_holdout.c
M       source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.c
M       source/blender/nodes/shader/nodes/node_shader_tangent.c
M       source/blender/physics/intern/implicit_blender.c
M       source/blender/python/bmesh/bmesh_py_types.h
M       source/blender/python/bmesh/bmesh_py_types_customdata.c
M       source/blender/python/generic/idprop_py_api.c
M       source/blender/python/intern/bpy_operator.c
M       source/blender/python/intern/bpy_props.c
M       source/blender/python/intern/bpy_rna_anim.c
M       source/blender/python/intern/bpy_rna_array.c
M       source/blender/python/mathutils/mathutils.h
M       source/blender/windowmanager/CMakeLists.txt
M       source/blender/windowmanager/WM_api.h
M       source/blender/windowmanager/intern/wm_event_system.c
M       source/blender/windowmanager/intern/wm_operator_props.c
M       source/blender/windowmanager/intern/wm_operators.c
A       source/blender/windowmanager/intern/wm_splash_screen.c
M       source/blender/windowmanager/wm.h
M       tests/gtests/blenlib/
M       tests/gtests/blenlib/
M       tests/gtests/blenlib/


diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6ced6e1d76d..2a7a020c428 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -237,6 +237,7 @@ option(WITH_OPENCOLORIO   "Enable OpenColorIO color 
management" ${_init_OPENCOLO
 # Compositor
 option(WITH_COMPOSITOR         "Enable the tile based nodal compositor" ON)
+option(WITH_OPENIMAGEDENOISE   "Enable the OpenImageDenoise compositing node" 
 option(WITH_OPENSUBDIV    "Enable OpenSubdiv for surface subdivision" 
@@ -1760,6 +1761,7 @@ if(FIRST_RUN)
+  info_cfg_option(WITH_OPENIMAGEDENOISE)
diff --git a/build_files/build_environment/CMakeLists.txt 
index 0dbd3b572cf..1b387cb86a2 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -97,6 +97,7 @@ if(UNIX AND NOT APPLE)
diff --git a/build_files/build_environment/cmake/harvest.cmake 
index 27bcd184c44..97e4a6b69d4 100644
--- a/build_files/build_environment/cmake/harvest.cmake
+++ b/build_files/build_environment/cmake/harvest.cmake
@@ -166,6 +166,8 @@ harvest(openimageio/bin openimageio/bin "maketx")
 harvest(openimageio/bin openimageio/bin "oiiotool")
 harvest(openimageio/include openimageio/include "*")
 harvest(openimageio/lib openimageio/lib "*.a")
+harvest(openimagedenoise/include openimagedenoise/include "*")
+harvest(openimagedenoise/lib openimagedenoise/lib "*.a")
 harvest(openjpeg/include/openjpeg-2.3 openjpeg/include "*.h")
 harvest(openjpeg/lib openjpeg/lib "*.a")
 harvest(opensubdiv/include opensubdiv/include "*.h")
diff --git a/build_files/build_environment/cmake/openimagedenoise.cmake 
new file mode 100644
index 00000000000..b20bb838ede
--- /dev/null
+++ b/build_files/build_environment/cmake/openimagedenoise.cmake
@@ -0,0 +1,61 @@
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# ***** END GPL LICENSE BLOCK *****
+  PREFIX ${BUILD_DIR}/openimagedenoise
+  PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d 
${BUILD_DIR}/openimagedenoise/src/external_openimagedenoise < 
+  INSTALL_DIR ${LIBDIR}/openimagedenoise
+  external_openimagedenoise
+  external_tbb
+    ExternalProject_Add_Step(external_openimagedenoise after_install
+      COMMAND ${CMAKE_COMMAND} -E copy_directory 
${LIBDIR}/openimagedenoise/include ${HARVEST_TARGET}/openimagedenoise/include
+      COMMAND ${CMAKE_COMMAND} -E copy 
+      COMMAND ${CMAKE_COMMAND} -E copy 
+      COMMAND ${CMAKE_COMMAND} -E copy 
+      DEPENDEES install
+    )
+  endif()
+    ExternalProject_Add_Step(external_openimagedenoise after_install
+      COMMAND ${CMAKE_COMMAND} -E copy 
+      COMMAND ${CMAKE_COMMAND} -E copy 
+      COMMAND ${CMAKE_COMMAND} -E copy 
+      DEPENDEES install
+    )
+  endif()
diff --git a/build_files/build_environment/cmake/tbb.cmake 
index 77f061e30d0..26c52e00c76 100644
--- a/build_files/build_environment/cmake/tbb.cmake
+++ b/build_files/build_environment/cmake/tbb.cmake
@@ -18,7 +18,7 @@
diff --git a/build_files/build_environment/cmake/versions.cmake 
index 3ee6a4920ed..c3b713096d6 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -302,3 +302,7 @@ set(SQLITE_HASH fb558c49ee21a837713c4f1e7e413309aabdd9c7)
 set(EMBREE_VERSION 3.2.4)
 set(EMBREE_HASH 3d4a1147002ff43939d45140aa9d6fb8)
+set(OIDN_VERSION 1.0.0)
+set(OIDN_HASH 19fe67b0164e8f020ac8a4f520defe60)
diff --git a/build_files/build_environment/ 
index e4f03480385..1324616ca35 100755
--- a/build_files/build_environment/
+++ b/build_files/build_environment/
@@ -309,7 +309,7 @@ PYTHON_FORCE_BUILD=false
diff --git a/build_files/build_environment/patches/openimagedenoise.diff 
new file mode 100644
index 00000000000..08d7a397a6d
--- /dev/null
+++ b/build_files/build_environment/patches/openimagedenoise.diff
@@ -0,0 +1,119 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 70ec895..e616b63 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -178,7 +178,9 @@ set_property(TARGET ${PROJECT_NAME} PROPERTY SOVERSION "0")
+ ## Open Image Denoise examples
+ ## 
++  add_subdirectory(examples)
+ ## 
+ ## Open Image Denoise install and packaging
+Submodule mkl-dnn contains modified content
+diff --git a/mkl-dnn/cmake/TBB.cmake b/mkl-dnn/cmake/TBB.cmake
+index 0711e699..c14210b6 100644
+--- a/mkl-dnn/cmake/TBB.cmake
++++ b/mkl-dnn/cmake/TBB.cmake
+@@ -90,8 +90,8 @@ if(WIN32)
+             NO_DEFAULT_PATH
+         )
+         set(TBB_LIB_DIR ${TBB_ROOT}/lib/${TBB_ARCH}/${TBB_VCVER})
+-        find_library(TBB_LIBRARY tbb PATHS ${TBB_LIB_DIR} ${TBB_ROOT}/lib 
+-        find_library(TBB_LIBRARY_MALLOC tbbmalloc PATHS ${TBB_LIB_DIR} 
++        find_library(TBB_LIBRARY tbb_static PATHS ${TBB_LIB_DIR} 
++        find_library(TBB_LIBRARY_MALLOC tbbmalloc_static PATHS ${TBB_LIB_DIR} 
+     endif()
+ else()
+@@ -138,13 +138,13 @@ else()
+         if(APPLE)
+             find_path(TBB_INCLUDE_DIR tbb/task_scheduler_init.h PATHS 
+-            find_library(TBB_LIBRARY tbb PATHS ${TBB_ROOT}/lib 
+-            find_library(TBB_LIBRARY_MALLOC tbbmalloc PATHS ${TBB_ROOT}/lib 
++            find_library(TBB_LIBRARY tbb_static PATHS ${TBB_ROOT}/lib 
++            find_library(TBB_LIBRARY_MALLOC tbbmalloc_static PATHS 
+         else()
+             find_path(TBB_INCLUDE_DIR tbb/task_scheduler_init.h PATHS 
+             set(TBB_HINTS HINTS ${TBB_ROOT}/lib/intel64/gcc4.4 
${TBB_ROOT}/lib ${TBB_ROOT}/lib64 PATHS /usr/libx86_64-linux-gnu/)
+-            find_library(TBB_LIBRARY tbb ${TBB_HINTS})
+-            find_library(TBB_LIBRARY_MALLOC tbbmalloc ${TBB_HINTS})
++            find_library(TBB_LIBRARY tbb_static ${TBB_HINTS})
++            find_library(TBB_LIBRARY_MALLOC tbbmalloc_static ${TBB_HINTS})
+         endif()
+     endif()
+diff '--ignore-matching-lines=:' -ur '--exclude=*.svn*' -u -r
+--- a/cmake/install.cmake      2019-08-12 18:02:20.794402575 +0200
++++ b/cmake/install.cmake      2019-08-12 18:06:07.470045703 +0200
+@@ -18,6 +18,13 @@
+ ## Install library
+ ## 
++  ${CMAKE_BINARY_DIR}/libOpenImageDenoise.a
++  ${CMAKE_BINARY_DIR}/libmkldnn.a
++  ${CMAKE_BINARY_DIR}/libcommon.a
+     ${PROJECT_NAME}_Export
+@@ -38,6 +45,7 @@
+   )
+ endif()
+ ## 
+ ## Install headers
+@@ -78,6 +86,7 @@
+ ## Install CMake configuration files
+ ## -------------------------------------

@@ Diff output truncated at 10240 characters. @@

Bf-blender-cvs mailing list

Reply via email to