summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_rd
diff options
context:
space:
mode:
authorJFonS <JFonS@users.noreply.github.com>2022-01-04 14:17:47 +0100
committerGitHub <noreply@github.com>2022-01-04 14:17:47 +0100
commite432181dc3788d3e3454b02e143a823f26e17bcc (patch)
tree47f6c50bb2079e16eba2bb003ac45f05c93a99d1 /servers/rendering/renderer_rd
parent6c25d05f7029824b6dac05e5491034a5d2000caa (diff)
parent565f9c0448cabfffbca76003143893a9f5afc3dc (diff)
Merge pull request #55418 from Calinou/voxelgi-dynamic-map-use-16-bit-depth
Use 16-bit depth to improve dynamic VoxelGI performance
Diffstat (limited to 'servers/rendering/renderer_rd')
-rw-r--r--servers/rendering/renderer_rd/renderer_scene_gi_rd.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/servers/rendering/renderer_rd/renderer_scene_gi_rd.cpp b/servers/rendering/renderer_rd/renderer_scene_gi_rd.cpp
index 60e2b237db..73cb088f6a 100644
--- a/servers/rendering/renderer_rd/renderer_scene_gi_rd.cpp
+++ b/servers/rendering/renderer_rd/renderer_scene_gi_rd.cpp
@@ -2176,8 +2176,9 @@ void RendererSceneGIRD::VoxelGIInstance::update(bool p_update_light_instances, c
dmap.texture = RD::get_singleton()->texture_create(dtf, RD::TextureView());
if (dynamic_maps.size() == 0) {
- //render depth for first one
- dtf.format = RD::get_singleton()->texture_is_format_supported_for_usage(RD::DATA_FORMAT_D32_SFLOAT, RD::TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) ? RD::DATA_FORMAT_D32_SFLOAT : RD::DATA_FORMAT_X8_D24_UNORM_PACK32;
+ // Render depth for first one.
+ // Use 16-bit depth when supported to improve performance.
+ dtf.format = RD::get_singleton()->texture_is_format_supported_for_usage(RD::DATA_FORMAT_D16_UNORM, RD::TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) ? RD::DATA_FORMAT_D16_UNORM : RD::DATA_FORMAT_X8_D24_UNORM_PACK32;
dtf.usage_bits = RD::TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
dmap.fb_depth = RD::get_singleton()->texture_create(dtf, RD::TextureView());
}