diff options
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_lightcache.c | 5 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_cache_extract_mesh.c | 6 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_cache_impl_pointcloud.c | 2 |
3 files changed, 7 insertions, 6 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_lightcache.c b/source/blender/draw/engines/eevee/eevee_lightcache.c index 9447c365c48..614c749b9aa 100644 --- a/source/blender/draw/engines/eevee/eevee_lightcache.c +++ b/source/blender/draw/engines/eevee/eevee_lightcache.c @@ -777,8 +777,6 @@ static void eevee_lightbake_delete_resources(EEVEE_LightBake *lbake) if (!lbake->resource_only) { BLI_mutex_unlock(lbake->mutex); } - - EEVEE_volumes_free_smoke_textures(); } /* Cache as in draw cache not light cache. */ @@ -1347,6 +1345,9 @@ void EEVEE_lightbake_job(void *custom_data, short *stop, short *do_update, float } eevee_lightbake_delete_resources(lbake); + + /* Free GPU smoke textures and the smoke domain list correctly: See also T73921.*/ + EEVEE_volumes_free_smoke_textures(); } /* This is to update the world irradiance and reflection contribution from diff --git a/source/blender/draw/intern/draw_cache_extract_mesh.c b/source/blender/draw/intern/draw_cache_extract_mesh.c index 0449601adf7..fe63dec1294 100644 --- a/source/blender/draw/intern/draw_cache_extract_mesh.c +++ b/source/blender/draw/intern/draw_cache_extract_mesh.c @@ -4524,7 +4524,7 @@ static void extract_range_task_create( taskdata->iter_type = type; taskdata->start = start; taskdata->end = start + length; - BLI_task_pool_push(task_pool, extract_run, taskdata, true, TASK_PRIORITY_HIGH); + BLI_task_pool_push(task_pool, extract_run, taskdata, true, NULL); } static void extract_task_create(TaskPool *task_pool, @@ -4583,7 +4583,7 @@ static void extract_task_create(TaskPool *task_pool, else if (use_thread) { /* One task for the whole VBO. */ (*task_counter)++; - BLI_task_pool_push(task_pool, extract_run, taskdata, true, TASK_PRIORITY_HIGH); + BLI_task_pool_push(task_pool, extract_run, taskdata, true, NULL); } else { /* Single threaded extraction. */ @@ -4682,7 +4682,7 @@ void mesh_buffer_cache_create_requested(MeshBatchCache *cache, TaskPool *task_pool; task_scheduler = BLI_task_scheduler_get(); - task_pool = BLI_task_pool_create_suspended(task_scheduler, NULL); + task_pool = BLI_task_pool_create_suspended(task_scheduler, NULL, TASK_PRIORITY_HIGH); size_t counters_size = (sizeof(mbc) / sizeof(void *)) * sizeof(int32_t); int32_t *task_counters = MEM_callocN(counters_size, __func__); diff --git a/source/blender/draw/intern/draw_cache_impl_pointcloud.c b/source/blender/draw/intern/draw_cache_impl_pointcloud.c index 83757cb714a..53939b35285 100644 --- a/source/blender/draw/intern/draw_cache_impl_pointcloud.c +++ b/source/blender/draw/intern/draw_cache_impl_pointcloud.c @@ -134,7 +134,7 @@ static void pointcloud_batch_cache_ensure_pos(Object *ob, PointCloudBatchCache * /* initialize vertex format */ pos_id = GPU_vertformat_attr_add(&format, "pointcloud_pos", GPU_COMP_F32, 3, GPU_FETCH_FLOAT); radius_id = GPU_vertformat_attr_add( - &format, "pointcloud_radius", GPU_COMP_F32, 3, GPU_FETCH_FLOAT); + &format, "pointcloud_radius", GPU_COMP_F32, 1, GPU_FETCH_FLOAT); } GPU_VERTBUF_DISCARD_SAFE(cache->pos); |