diff options
| author | clayjohn <claynjohn@gmail.com> | 2023-08-03 16:13:33 +0200 |
|---|---|---|
| committer | clayjohn <claynjohn@gmail.com> | 2023-08-03 16:13:33 +0200 |
| commit | 558f4b75596e9352e38dd00b9d9837b2aa219047 (patch) | |
| tree | 5372abe01a45c9fe4ffdb7c7f0a3884fc657a5d5 /servers/rendering | |
| parent | 237bd0a615df8a0e57bc3d299894abece7b43a0c (diff) | |
| download | redot-engine-558f4b75596e9352e38dd00b9d9837b2aa219047.tar.gz | |
Initialize shader placeholders up front
Then use the placeholder to create the shader instead of swapping RIDs
This fixes a false positive that reported leaked shaders
Diffstat (limited to 'servers/rendering')
| -rw-r--r-- | servers/rendering/renderer_rd/shader_rd.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/servers/rendering/renderer_rd/shader_rd.cpp b/servers/rendering/renderer_rd/shader_rd.cpp index d3814f175f..46ae2d9551 100644 --- a/servers/rendering/renderer_rd/shader_rd.cpp +++ b/servers/rendering/renderer_rd/shader_rd.cpp @@ -161,7 +161,7 @@ void ShaderRD::_clear_version(Version *p_version) { // Clear versions if they exist. if (p_version->variants) { for (int i = 0; i < variant_defines.size(); i++) { - if (variants_enabled[i] && group_enabled[variant_defines[i].group]) { + if (p_version->variants[i].is_valid()) { RD::get_singleton()->free(p_version->variants[i]); } } |
