diff options
Diffstat (limited to 'servers/visual/rasterizer_rd/rasterizer_scene_forward_rd.cpp')
-rw-r--r-- | servers/visual/rasterizer_rd/rasterizer_scene_forward_rd.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/servers/visual/rasterizer_rd/rasterizer_scene_forward_rd.cpp b/servers/visual/rasterizer_rd/rasterizer_scene_forward_rd.cpp index 279cb88660..d57c62b629 100644 --- a/servers/visual/rasterizer_rd/rasterizer_scene_forward_rd.cpp +++ b/servers/visual/rasterizer_rd/rasterizer_scene_forward_rd.cpp @@ -2363,11 +2363,14 @@ void RasterizerSceneForwardRD::_setup_render_pass_uniform_set(RID p_depth_buffer RD::Uniform u; u.binding = 6; u.type = RD::UNIFORM_TYPE_TEXTURE; + RID texture; if (p_shadow_atlas.is_valid()) { - u.ids.push_back(shadow_atlas_get_texture(p_shadow_atlas)); - } else { - u.ids.push_back(storage->texture_rd_get_default(RasterizerStorageRD::DEFAULT_RD_TEXTURE_WHITE)); + texture = shadow_atlas_get_texture(p_shadow_atlas); } + if (!texture.is_valid()) { + texture = storage->texture_rd_get_default(RasterizerStorageRD::DEFAULT_RD_TEXTURE_WHITE); + } + u.ids.push_back(texture); uniforms.push_back(u); } |