diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-10-20 06:08:26 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-10-24 02:03:59 +0300 |
commit | ae41f38f78f8c54f92cf34dd88e35948e19aed55 (patch) | |
tree | 4fb39bf2ed8ca0bece837f93b8e69851b07bf547 /intern/cycles/render | |
parent | cc96cdd9d49c6029e2abc62d81556e2f22480438 (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.cpp | 9 | ||||
-rw-r--r-- | intern/cycles/render/scene.h | 2 |
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); |