diff options
author | Haoyu Qiu <timothyqiu32@gmail.com> | 2021-06-14 13:19:40 +0800 |
---|---|---|
committer | Haoyu Qiu <timothyqiu32@gmail.com> | 2021-06-14 13:19:40 +0800 |
commit | 1b122345c20aa6830d59500b77b13f8b0bd337a8 (patch) | |
tree | a3337d7c4ff91daee86866912bfa739a0d282928 /servers | |
parent | 12e0f10c74e9619262f1edcfdc1840432ada0565 (diff) |
Fix invalid read when using MultiMesh
Diffstat (limited to 'servers')
-rw-r--r-- | servers/rendering/renderer_rd/renderer_storage_rd.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/servers/rendering/renderer_rd/renderer_storage_rd.cpp b/servers/rendering/renderer_rd/renderer_storage_rd.cpp index eeca283c13..9b08da4c9e 100644 --- a/servers/rendering/renderer_rd/renderer_storage_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_storage_rd.cpp @@ -3823,7 +3823,7 @@ void RendererStorageRD::_update_dirty_multimeshes() { if (multimesh->data_cache_used_dirty_regions) { uint32_t data_cache_dirty_region_count = (multimesh->instances - 1) / MULTIMESH_DIRTY_REGION_SIZE + 1; - uint32_t visible_region_count = (visible_instances - 1) / MULTIMESH_DIRTY_REGION_SIZE + 1; + uint32_t visible_region_count = visible_instances == 0 ? 0 : (visible_instances - 1) / MULTIMESH_DIRTY_REGION_SIZE + 1; uint32_t region_size = multimesh->stride_cache * MULTIMESH_DIRTY_REGION_SIZE * sizeof(float); |