Browse Source

Validate another case of using DATA_FORMAT_A2B10G10R10_UNORM_PACK32 texture with storage flag

clayjohn 2 years ago
parent
commit
5f94b378ab
1 changed files with 4 additions and 1 deletions
  1. 4 1
      servers/rendering/renderer_rd/environment/sky.cpp

+ 4 - 1
servers/rendering/renderer_rd/environment/sky.cpp

@@ -1648,7 +1648,10 @@ void SkyRD::update_dirty_skys() {
 				tf.mipmaps = MIN(mipmaps, layers);
 				tf.mipmaps = MIN(mipmaps, layers);
 				tf.width = w;
 				tf.width = w;
 				tf.height = h;
 				tf.height = h;
-				tf.usage_bits = RD::TEXTURE_USAGE_COLOR_ATTACHMENT_BIT | RD::TEXTURE_USAGE_SAMPLING_BIT | RD::TEXTURE_USAGE_STORAGE_BIT;
+				tf.usage_bits = RD::TEXTURE_USAGE_COLOR_ATTACHMENT_BIT | RD::TEXTURE_USAGE_SAMPLING_BIT;
+				if (RendererSceneRenderRD::get_singleton()->_render_buffers_can_be_storage()) {
+					tf.usage_bits |= RD::TEXTURE_USAGE_STORAGE_BIT;
+				}
 
 
 				sky->radiance = RD::get_singleton()->texture_create(tf, RD::TextureView());
 				sky->radiance = RD::get_singleton()->texture_create(tf, RD::TextureView());