diff options
author | Brian Semrau <brian.semrau@gmail.com> | 2021-11-01 15:33:59 -0400 |
---|---|---|
committer | Brian Semrau <brian.semrau@gmail.com> | 2021-11-01 15:33:59 -0400 |
commit | 4a1c28460e3d85d2d7505970ce3a6c2e6f404f15 (patch) | |
tree | 64817f6edca61b614968e53a82ce61973078554c /drivers/vulkan | |
parent | a57de3b81849a4cb5eadcccb837d787c7744ab8b (diff) |
Fix materials not updating when texture replaced/deleted
Diffstat (limited to 'drivers/vulkan')
-rw-r--r-- | drivers/vulkan/rendering_device_vulkan.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp index 4cae051302..de758ca9c1 100644 --- a/drivers/vulkan/rendering_device_vulkan.cpp +++ b/drivers/vulkan/rendering_device_vulkan.cpp @@ -8428,11 +8428,11 @@ void RenderingDeviceVulkan::_free_internal(RID p_id) { } else if (uniform_set_owner.owns(p_id)) { UniformSet *uniform_set = uniform_set_owner.get_or_null(p_id); frames[frame].uniform_sets_to_dispose_of.push_back(*uniform_set); + uniform_set_owner.free(p_id); + if (uniform_set->invalidated_callback != nullptr) { - uniform_set->invalidated_callback(p_id, uniform_set->invalidated_callback_userdata); + uniform_set->invalidated_callback(uniform_set->invalidated_callback_userdata); } - - uniform_set_owner.free(p_id); } else if (render_pipeline_owner.owns(p_id)) { RenderPipeline *pipeline = render_pipeline_owner.get_or_null(p_id); frames[frame].render_pipelines_to_dispose_of.push_back(*pipeline); |