@@ -216,6 +216,13 @@ class TexFormatToViewFormatConverter
216216 INIT_TEX_VIEW_FORMAT_INFO (TEX_FORMAT_BC7_TYPELESS, BC7_UNORM_SRGB, UNKNOWN, UNKNOWN, UNKNOWN);
217217 INIT_TEX_VIEW_FORMAT_INFO (TEX_FORMAT_BC7_UNORM, BC7_UNORM, UNKNOWN, UNKNOWN, UNKNOWN);
218218 INIT_TEX_VIEW_FORMAT_INFO (TEX_FORMAT_BC7_UNORM_SRGB, BC7_UNORM_SRGB, UNKNOWN, UNKNOWN, UNKNOWN);
219+
220+ INIT_TEX_VIEW_FORMAT_INFO (TEX_FORMAT_ETC2_RGB8_UNORM, ETC2_RGB8_UNORM, UNKNOWN, UNKNOWN, UNKNOWN);
221+ INIT_TEX_VIEW_FORMAT_INFO (TEX_FORMAT_ETC2_RGB8_UNORM_SRGB, ETC2_RGB8_UNORM_SRGB, UNKNOWN, UNKNOWN, UNKNOWN);
222+ INIT_TEX_VIEW_FORMAT_INFO (TEX_FORMAT_ETC2_RGB8A1_UNORM, ETC2_RGB8A1_UNORM, UNKNOWN, UNKNOWN, UNKNOWN);
223+ INIT_TEX_VIEW_FORMAT_INFO (TEX_FORMAT_ETC2_RGB8A1_UNORM_SRGB, ETC2_RGB8A1_UNORM_SRGB, UNKNOWN, UNKNOWN, UNKNOWN);
224+ INIT_TEX_VIEW_FORMAT_INFO (TEX_FORMAT_ETC2_RGBA8_UNORM, ETC2_RGBA8_UNORM, UNKNOWN, UNKNOWN, UNKNOWN);
225+ INIT_TEX_VIEW_FORMAT_INFO (TEX_FORMAT_ETC2_RGBA8_UNORM_SRGB, ETC2_RGBA8_UNORM_SRGB, UNKNOWN, UNKNOWN, UNKNOWN);
219226#undef INIT_TVIEW_FORMAT_INFO
220227 // clang-format on
221228
@@ -399,9 +406,16 @@ const TextureFormatAttribs& GetTextureFormatAttribs(TEXTURE_FORMAT Format)
399406 INIT_TEX_FORMAT_INFO (TEX_FORMAT_BC7_TYPELESS, 16 , 4 , COMPONENT_TYPE_COMPRESSED, true , 4 ,4 );
400407 INIT_TEX_FORMAT_INFO (TEX_FORMAT_BC7_UNORM, 16 , 4 , COMPONENT_TYPE_COMPRESSED, false , 4 ,4 );
401408 INIT_TEX_FORMAT_INFO (TEX_FORMAT_BC7_UNORM_SRGB, 16 , 4 , COMPONENT_TYPE_COMPRESSED, false , 4 ,4 );
409+
410+ INIT_TEX_FORMAT_INFO (TEX_FORMAT_ETC2_RGB8_UNORM, 8 , 3 , COMPONENT_TYPE_COMPRESSED, false , 4 ,4 );
411+ INIT_TEX_FORMAT_INFO (TEX_FORMAT_ETC2_RGB8_UNORM_SRGB, 8 , 3 , COMPONENT_TYPE_COMPRESSED, false , 4 ,4 );
412+ INIT_TEX_FORMAT_INFO (TEX_FORMAT_ETC2_RGB8A1_UNORM, 8 , 4 , COMPONENT_TYPE_COMPRESSED, false , 4 ,4 );
413+ INIT_TEX_FORMAT_INFO (TEX_FORMAT_ETC2_RGB8A1_UNORM_SRGB, 8 , 4 , COMPONENT_TYPE_COMPRESSED, false , 4 ,4 );
414+ INIT_TEX_FORMAT_INFO (TEX_FORMAT_ETC2_RGBA8_UNORM, 16 , 4 , COMPONENT_TYPE_COMPRESSED, false , 4 ,4 );
415+ INIT_TEX_FORMAT_INFO (TEX_FORMAT_ETC2_RGBA8_UNORM_SRGB, 16 , 4 , COMPONENT_TYPE_COMPRESSED, false , 4 ,4 );
402416#undef INIT_TEX_FORMAT_INFO
403417 // clang-format on
404- static_assert (TEX_FORMAT_NUM_FORMATS == TEX_FORMAT_BC7_UNORM_SRGB + 1 , " Not all texture formats initialized." );
418+ static_assert (TEX_FORMAT_NUM_FORMATS == TEX_FORMAT_ETC2_RGBA8_UNORM_SRGB + 1 , " Not all texture formats initialized." );
405419
406420#ifdef DILIGENT_DEBUG
407421 for (Uint32 Fmt = TEX_FORMAT_UNKNOWN; Fmt < TEX_FORMAT_NUM_FORMATS; ++Fmt)
@@ -2568,6 +2582,15 @@ TEXTURE_FORMAT UnormFormatToSRGB(TEXTURE_FORMAT Fmt)
25682582 case TEX_FORMAT_BC7_UNORM:
25692583 return TEX_FORMAT_BC7_UNORM_SRGB;
25702584
2585+ case TEX_FORMAT_ETC2_RGB8_UNORM:
2586+ return TEX_FORMAT_ETC2_RGB8_UNORM_SRGB;
2587+
2588+ case TEX_FORMAT_ETC2_RGB8A1_UNORM:
2589+ return TEX_FORMAT_ETC2_RGB8A1_UNORM_SRGB;
2590+
2591+ case TEX_FORMAT_ETC2_RGBA8_UNORM:
2592+ return TEX_FORMAT_ETC2_RGBA8_UNORM_SRGB;
2593+
25712594 default :
25722595 return Fmt;
25732596 }
@@ -2598,6 +2621,15 @@ TEXTURE_FORMAT SRGBFormatToUnorm(TEXTURE_FORMAT Fmt)
25982621 case TEX_FORMAT_BC7_UNORM_SRGB:
25992622 return TEX_FORMAT_BC7_UNORM;
26002623
2624+ case TEX_FORMAT_ETC2_RGB8_UNORM_SRGB:
2625+ return TEX_FORMAT_ETC2_RGB8_UNORM;
2626+
2627+ case TEX_FORMAT_ETC2_RGB8A1_UNORM_SRGB:
2628+ return TEX_FORMAT_ETC2_RGB8A1_UNORM;
2629+
2630+ case TEX_FORMAT_ETC2_RGBA8_UNORM_SRGB:
2631+ return TEX_FORMAT_ETC2_RGBA8_UNORM;
2632+
26012633 default :
26022634 return Fmt;
26032635 }
@@ -2660,7 +2692,10 @@ bool IsSRGBFormat(TEXTURE_FORMAT Fmt)
26602692 Fmt == TEX_FORMAT_BC3_UNORM_SRGB ||
26612693 Fmt == TEX_FORMAT_BGRA8_UNORM_SRGB ||
26622694 Fmt == TEX_FORMAT_BGRX8_UNORM_SRGB ||
2663- Fmt == TEX_FORMAT_BC7_UNORM_SRGB);
2695+ Fmt == TEX_FORMAT_BC7_UNORM_SRGB ||
2696+ Fmt == TEX_FORMAT_ETC2_RGB8_UNORM_SRGB ||
2697+ Fmt == TEX_FORMAT_ETC2_RGB8A1_UNORM_SRGB ||
2698+ Fmt == TEX_FORMAT_ETC2_RGBA8_UNORM_SRGB);
26642699}
26652700
26662701String GetPipelineShadingRateFlagsString (PIPELINE_SHADING_RATE_FLAGS Flags)
0 commit comments