diff options
-rw-r--r-- | intern/cycles/blender/blender_sync.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/render/mesh_volume.cpp | 10 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_WindowWin32.h | 2 | ||||
-rw-r--r-- | source/blender/nodes/composite/nodes/node_composite_image.c | 6 | ||||
-rw-r--r-- | source/creator/blender.map | 45 |
5 files changed, 57 insertions, 8 deletions
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index f4c100bcd2b..0c120b944a7 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -108,7 +108,7 @@ void BlenderSync::sync_recalc(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d } if (dicing_prop_changed) { - for (const pair<GeometryKey, Geometry *> &iter : geometry_map.key_to_scene_data()) { + for (const pair<const GeometryKey, Geometry *> &iter : geometry_map.key_to_scene_data()) { Geometry *geom = iter.second; if (geom->type == Geometry::MESH) { Mesh *mesh = static_cast<Mesh *>(geom); diff --git a/intern/cycles/render/mesh_volume.cpp b/intern/cycles/render/mesh_volume.cpp index 74b8fc9e5ba..607363d01c6 100644 --- a/intern/cycles/render/mesh_volume.cpp +++ b/intern/cycles/render/mesh_volume.cpp @@ -19,6 +19,7 @@ #include "render/scene.h" #include "util/util_foreach.h" +#include "util/util_hash.h" #include "util/util_logging.h" #include "util/util_progress.h" #include "util/util_types.h" @@ -447,7 +448,14 @@ void GeometryManager::create_volume_mesh(Mesh *mesh, Progress &progress) start_point = transform_point(&itfm, start_point); cell_size = transform_direction(&itfm, cell_size); - volume_params.start_point = start_point; + /* Slightly offset vertex coordinates to avoid overlapping faces with other + * volumes or meshes. The proper solution would be to improve intersection in + * the kernel to support robust handling of multiple overlapping faces or use + * an all-hit intersection similar to shadows. */ + const float3 face_overlap_avoidance = cell_size * 0.1f * + hash_uint_to_float(hash_string(mesh->name.c_str())); + + volume_params.start_point = start_point + face_overlap_avoidance; volume_params.cell_size = cell_size; volume_params.pad_size = pad_size; diff --git a/intern/ghost/intern/GHOST_WindowWin32.h b/intern/ghost/intern/GHOST_WindowWin32.h index 48c449b260c..dbed7c5ee5f 100644 --- a/intern/ghost/intern/GHOST_WindowWin32.h +++ b/intern/ghost/intern/GHOST_WindowWin32.h @@ -35,6 +35,8 @@ # include "GHOST_ImeWin32.h" #endif +#include <vector> + #include <wintab.h> #define PACKETDATA (PK_BUTTONS | PK_NORMAL_PRESSURE | PK_ORIENTATION | PK_CURSOR) #define PACKETMODE PK_BUTTONS diff --git a/source/blender/nodes/composite/nodes/node_composite_image.c b/source/blender/nodes/composite/nodes/node_composite_image.c index 10de192277b..382459993b7 100644 --- a/source/blender/nodes/composite/nodes/node_composite_image.c +++ b/source/blender/nodes/composite/nodes/node_composite_image.c @@ -86,6 +86,12 @@ static void cmp_node_image_add_pass_output(bNodeTree *ntree, { bNodeSocket *sock = BLI_findstring(&node->outputs, name, offsetof(bNodeSocket, name)); + /* Replace if types don't match. */ + if (sock && sock->type != type) { + nodeRemoveSocket(ntree, node, sock); + sock = NULL; + } + /* Create socket if it doesn't exist yet. */ if (sock == NULL) { if (rres_index >= 0) { diff --git a/source/creator/blender.map b/source/creator/blender.map index fda6c37b10d..7720ad2b56c 100644 --- a/source/creator/blender.map +++ b/source/creator/blender.map @@ -18,14 +18,12 @@ local: *cineon*; *COLLADA*; cu*; - decodeInstruction; *default_error_condition*; *dpx*; *embree*; ff_*; fftw*; FLAC*; - ForceStackAlign; FT_*; *GeneratedSaxParser*; *google*; @@ -40,14 +38,11 @@ local: jack_*; jpeg_*; jsimd**; - _Jv_RegisterClasses; lame_*; *llvm*; *LLVM*; *MathML*; *mkldnn*; - Name; - NumNamedVarArgParams; oc_*; ogg*; *oidn*; @@ -72,8 +67,46 @@ local: vp9*; vpx*; x264_*; - X86CompilationCallback*; xml*; xvid*; *YAML*; + + /* LLVM symbols not in the LLVM namespace that can conflict with LLVM usage + * in OpenGL and OpenCL drivers. */ + decodeInstruction; + EnableHotColdSplit; + EnableIPRA; + EnableOrderFileInstrumentation; + EnableVPlanNativePath; + EnableVPlanPredication; + FlattenedProfileUsed; + ForceStackAlign; + ForceSummaryEdgesCold; + FSEC; + __jit_debug_descriptor; + __jit_debug_register_code; + _Jv_RegisterClasses; + MachineRegionInfoPassID; + MemOPSizeLarge; + MemOPSizeRange; + MISchedPostRA; + ModuleSummaryDotFile; + __morestack; + Name; + NumNamedVarArgParams; + PGOViewCounts; + PrintBlockFreqFuncName; + PrintBranchProbFuncName; + ProfileLikelyProb; + StartAfterOptName; + StartBeforeOptName; + StaticLikelyProb; + StopAfterOptName; + StopBeforeOptName; + UseDbgAddr; + ViewBlockFreqFuncName; + ViewBlockLayoutWithBFI; + ViewHotFreqPercent; + WriteRelBFToSummary; + X86CompilationCallback*; }; |