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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2017-10-20 06:08:26 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2017-10-24 02:03:59 +0300
commitae41f38f78f8c54f92cf34dd88e35948e19aed55 (patch)
tree4fb39bf2ed8ca0bece837f93b8e69851b07bf547 /intern/cycles/render
parentcc96cdd9d49c6029e2abc62d81556e2f22480438 (diff)
Code refactor: pass device to scene, check OSL with device info.
Diffstat (limited to 'intern/cycles/render')
-rw-r--r--intern/cycles/render/scene.cpp9
-rw-r--r--intern/cycles/render/scene.h2
2 files changed, 5 insertions, 6 deletions
diff --git a/intern/cycles/render/scene.cpp b/intern/cycles/render/scene.cpp
index cf89385a33d..00c32312d9f 100644
--- a/intern/cycles/render/scene.cpp
+++ b/intern/cycles/render/scene.cpp
@@ -40,10 +40,9 @@
CCL_NAMESPACE_BEGIN
-Scene::Scene(const SceneParams& params_, const DeviceInfo& device_info_)
-: params(params_)
+Scene::Scene(const SceneParams& params_, Device *device)
+: device(device), params(params_)
{
- device = NULL;
memset(&dscene.data, 0, sizeof(dscene.data));
camera = new Camera();
@@ -54,13 +53,13 @@ Scene::Scene(const SceneParams& params_, const DeviceInfo& device_info_)
mesh_manager = new MeshManager();
object_manager = new ObjectManager();
integrator = new Integrator();
- image_manager = new ImageManager(device_info_);
+ image_manager = new ImageManager(device->info);
particle_system_manager = new ParticleSystemManager();
curve_system_manager = new CurveSystemManager();
bake_manager = new BakeManager();
/* OSL only works on the CPU */
- if(device_info_.type == DEVICE_CPU)
+ if(device->info.has_osl)
shader_manager = ShaderManager::create(this, params.shadingsystem);
else
shader_manager = ShaderManager::create(this, SHADINGSYSTEM_SVM);
diff --git a/intern/cycles/render/scene.h b/intern/cycles/render/scene.h
index d4ec7d90ff5..23b9eb06a7b 100644
--- a/intern/cycles/render/scene.h
+++ b/intern/cycles/render/scene.h
@@ -201,7 +201,7 @@ public:
/* mutex must be locked manually by callers */
thread_mutex mutex;
- Scene(const SceneParams& params, const DeviceInfo& device_info);
+ Scene(const SceneParams& params, Device *device);
~Scene();
void device_update(Device *device, Progress& progress);