Fix (apparently harmless) Cycles asan warnings

This commit is contained in:
Brecht Van Lommel 2021-03-15 18:52:45 +01:00
parent 21bc1a99ba
commit 8f93386e62
2 changed files with 32 additions and 23 deletions

@ -45,7 +45,16 @@ DeviceTask::DeviceTask(Type type_)
shader_filter(0), shader_filter(0),
shader_x(0), shader_x(0),
shader_w(0), shader_w(0),
buffers(nullptr) buffers(nullptr),
tile_types(0),
denoising_from_render(false),
pass_stride(0),
frame_stride(0),
target_pass_stride(0),
pass_denoising_data(0),
pass_denoising_clean(0),
need_finish_queue(false),
integrator_branched(false)
{ {
last_update_time = time_dt(); last_update_time = time_dt();
} }

@ -91,6 +91,7 @@ DeviceScene::DeviceScene(Device *device)
Scene::Scene(const SceneParams &params_, Device *device) Scene::Scene(const SceneParams &params_, Device *device)
: name("Scene"), : name("Scene"),
bvh(NULL),
default_surface(NULL), default_surface(NULL),
default_volume(NULL), default_volume(NULL),
default_light(NULL), default_light(NULL),
@ -99,37 +100,36 @@ Scene::Scene(const SceneParams &params_, Device *device)
device(device), device(device),
dscene(device), dscene(device),
params(params_), params(params_),
update_stats(NULL) update_stats(NULL),
kernels_loaded(false),
/* TODO(sergey): Check if it's indeed optimal value for the split kernel. */
max_closure_global(1)
{ {
memset((void *)&dscene.data, 0, sizeof(dscene.data)); memset((void *)&dscene.data, 0, sizeof(dscene.data));
bvh = NULL;
camera = create_node<Camera>();
dicing_camera = create_node<Camera>();
lookup_tables = new LookupTables();
film = create_node<Film>();
background = create_node<Background>();
light_manager = new LightManager();
geometry_manager = new GeometryManager();
object_manager = new ObjectManager();
integrator = create_node<Integrator>();
image_manager = new ImageManager(device->info);
particle_system_manager = new ParticleSystemManager();
bake_manager = new BakeManager();
procedural_manager = new ProceduralManager();
kernels_loaded = false;
/* TODO(sergey): Check if it's indeed optimal value for the split kernel. */
max_closure_global = 1;
film->add_default(this);
/* OSL only works on the CPU */ /* OSL only works on the CPU */
if (device->info.has_osl) if (device->info.has_osl)
shader_manager = ShaderManager::create(params.shadingsystem); shader_manager = ShaderManager::create(params.shadingsystem);
else else
shader_manager = ShaderManager::create(SHADINGSYSTEM_SVM); shader_manager = ShaderManager::create(SHADINGSYSTEM_SVM);
light_manager = new LightManager();
geometry_manager = new GeometryManager();
object_manager = new ObjectManager();
image_manager = new ImageManager(device->info);
particle_system_manager = new ParticleSystemManager();
bake_manager = new BakeManager();
procedural_manager = new ProceduralManager();
/* Create nodes after managers, since create_node() can tag the managers. */
camera = create_node<Camera>();
dicing_camera = create_node<Camera>();
lookup_tables = new LookupTables();
film = create_node<Film>();
background = create_node<Background>();
integrator = create_node<Integrator>();
film->add_default(this);
shader_manager->add_default(this); shader_manager->add_default(this);
} }