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
diff options
context:
space:
mode:
-rw-r--r--intern/cycles/blender/blender_sync.cpp2
-rw-r--r--intern/cycles/render/mesh_volume.cpp10
-rw-r--r--intern/ghost/intern/GHOST_WindowWin32.h2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_image.c6
-rw-r--r--source/creator/blender.map45
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*;
};