Skip to content

Commit 1a0bf54

Browse files
committed
Merge pull request #102805 from BlueCube3310/rd-tex-fetch-fix
RenderingDevice: Fix certain RD to Image format conversions
2 parents 3dd68d8 + 27c4e70 commit 1a0bf54

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

servers/rendering/renderer_rd/storage_rd/texture_storage.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2358,7 +2358,7 @@ void TextureStorage::_texture_format_from_rd(RD::DataFormat p_rd_format, Texture
23582358
r_format.swizzle_a = RD::TEXTURE_SWIZZLE_ONE;
23592359
} break;
23602360
case RD::DATA_FORMAT_R32G32B32A32_SFLOAT: {
2361-
r_format.image_format = Image::FORMAT_RGBF;
2361+
r_format.image_format = Image::FORMAT_RGBAF;
23622362
r_format.rd_format = RD::DATA_FORMAT_R32G32B32A32_SFLOAT;
23632363
r_format.swizzle_r = RD::TEXTURE_SWIZZLE_R;
23642364
r_format.swizzle_g = RD::TEXTURE_SWIZZLE_G;
@@ -2531,7 +2531,6 @@ void TextureStorage::_texture_format_from_rd(RD::DataFormat p_rd_format, Texture
25312531
r_format.swizzle_a = RD::TEXTURE_SWIZZLE_ONE;
25322532

25332533
} break;
2534-
/* already maps to FORMAT_ETC2_RGBA8
25352534
case RD::DATA_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:
25362535
case RD::DATA_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: {
25372536
r_format.image_format = Image::FORMAT_ETC2_RGBA8;
@@ -2542,7 +2541,6 @@ void TextureStorage::_texture_format_from_rd(RD::DataFormat p_rd_format, Texture
25422541
r_format.swizzle_b = RD::TEXTURE_SWIZZLE_B;
25432542
r_format.swizzle_a = RD::TEXTURE_SWIZZLE_A;
25442543
} break;
2545-
*/
25462544
case RD::DATA_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:
25472545
case RD::DATA_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: {
25482546
r_format.image_format = Image::FORMAT_ETC2_RGB8A1;
@@ -2553,6 +2551,7 @@ void TextureStorage::_texture_format_from_rd(RD::DataFormat p_rd_format, Texture
25532551
r_format.swizzle_b = RD::TEXTURE_SWIZZLE_B;
25542552
r_format.swizzle_a = RD::TEXTURE_SWIZZLE_A;
25552553
} break;
2554+
/* already maps to FORMAT_ETC2_RGBA8
25562555
case RD::DATA_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:
25572556
case RD::DATA_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: {
25582557
r_format.image_format = Image::FORMAT_ETC2_RA_AS_RG;
@@ -2562,7 +2561,7 @@ void TextureStorage::_texture_format_from_rd(RD::DataFormat p_rd_format, Texture
25622561
r_format.swizzle_g = RD::TEXTURE_SWIZZLE_A;
25632562
r_format.swizzle_b = RD::TEXTURE_SWIZZLE_ZERO;
25642563
r_format.swizzle_a = RD::TEXTURE_SWIZZLE_ONE;
2565-
} break;
2564+
} break;*/
25662565
/* already maps to FORMAT_DXT5
25672566
case RD::DATA_FORMAT_BC3_UNORM_BLOCK:
25682567
case RD::DATA_FORMAT_BC3_SRGB_BLOCK: {
@@ -2598,6 +2597,10 @@ void TextureStorage::_texture_format_from_rd(RD::DataFormat p_rd_format, Texture
25982597
// Q: Do we do as we do below, just create the sRGB variant?
25992598
r_format.image_format = Image::FORMAT_ASTC_8x8;
26002599
r_format.rd_format = RD::DATA_FORMAT_ASTC_8x8_UNORM_BLOCK;
2600+
r_format.swizzle_r = RD::TEXTURE_SWIZZLE_R;
2601+
r_format.swizzle_g = RD::TEXTURE_SWIZZLE_G;
2602+
r_format.swizzle_b = RD::TEXTURE_SWIZZLE_B;
2603+
r_format.swizzle_a = RD::TEXTURE_SWIZZLE_A;
26012604
} break;
26022605
case RD::DATA_FORMAT_ASTC_8x8_SRGB_BLOCK: {
26032606
r_format.image_format = Image::FORMAT_ASTC_8x8_HDR;

0 commit comments

Comments
 (0)