[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54089] trunk/blender/intern/cycles: Fix cycles crash that happened with mesh emission and diffuse/glossy ray
Brecht Van Lommel
brechtvanlommel at pandora.be
Fri Jan 25 03:01:02 CET 2013
Revision: 54089
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54089
Author: blendix
Date: 2013-01-25 02:00:57 +0000 (Fri, 25 Jan 2013)
Log Message:
-----------
Fix cycles crash that happened with mesh emission and diffuse/glossy ray
visibility disabled on some objects.
Modified Paths:
--------------
trunk/blender/intern/cycles/blender/blender_curves.cpp
trunk/blender/intern/cycles/render/light.cpp
trunk/blender/intern/cycles/util/util_task.cpp
trunk/blender/intern/cycles/util/util_task.h
Modified: trunk/blender/intern/cycles/blender/blender_curves.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_curves.cpp 2013-01-24 21:57:13 UTC (rev 54088)
+++ trunk/blender/intern/cycles/blender/blender_curves.cpp 2013-01-25 02:00:57 UTC (rev 54089)
@@ -1046,8 +1046,6 @@
if(mesh->need_attribute(scene, name) || mesh->need_attribute(scene, std)) {
Attribute *attr;
- Attribute *attr_uv = NULL, *attr_intercept = NULL;
-
if(active_render)
attr = mesh->curve_attributes.add(std, name);
else
Modified: trunk/blender/intern/cycles/render/light.cpp
===================================================================
--- trunk/blender/intern/cycles/render/light.cpp 2013-01-24 21:57:13 UTC (rev 54088)
+++ trunk/blender/intern/cycles/render/light.cpp 2013-01-25 02:00:57 UTC (rev 54089)
@@ -198,8 +198,10 @@
bool have_emission = false;
/* skip if we are not visible for BSDFs */
- if(!(object->visibility & (PATH_RAY_DIFFUSE|PATH_RAY_GLOSSY|PATH_RAY_TRANSMIT)))
+ if(!(object->visibility & (PATH_RAY_DIFFUSE|PATH_RAY_GLOSSY|PATH_RAY_TRANSMIT))) {
+ j++;
continue;
+ }
/* skip if we have no emission shaders */
foreach(uint sindex, mesh->used_shaders) {
Modified: trunk/blender/intern/cycles/util/util_task.cpp
===================================================================
--- trunk/blender/intern/cycles/util/util_task.cpp 2013-01-24 21:57:13 UTC (rev 54088)
+++ trunk/blender/intern/cycles/util/util_task.cpp 2013-01-25 02:00:57 UTC (rev 54089)
@@ -152,7 +152,6 @@
thread_mutex TaskScheduler::mutex;
int TaskScheduler::users = 0;
vector<thread*> TaskScheduler::threads;
-vector<int> TaskScheduler::thread_level;
volatile bool TaskScheduler::do_exit = false;
list<TaskScheduler::Entry> TaskScheduler::queue;
@@ -179,12 +178,9 @@
/* launch threads that will be waiting for work */
threads.resize(num_threads);
- thread_level.resize(num_threads);
- for(size_t i = 0; i < threads.size(); i++) {
+ for(size_t i = 0; i < threads.size(); i++)
threads[i] = new thread(function_bind(&TaskScheduler::thread_run, i));
- thread_level[i] = 0;
- }
}
users++;
@@ -208,7 +204,6 @@
}
threads.clear();
- thread_level.clear();
}
}
Modified: trunk/blender/intern/cycles/util/util_task.h
===================================================================
--- trunk/blender/intern/cycles/util/util_task.h 2013-01-24 21:57:13 UTC (rev 54088)
+++ trunk/blender/intern/cycles/util/util_task.h 2013-01-25 02:00:57 UTC (rev 54089)
@@ -111,7 +111,6 @@
static thread_mutex mutex;
static int users;
static vector<thread*> threads;
- static vector<int> thread_level;
static volatile bool do_exit;
static list<Entry> queue;
More information about the Bf-blender-cvs
mailing list