@@ -28,6 +28,10 @@ import {
2828	RGB_ETC2_Format , 
2929	RGB_PVRTC_4BPPV1_Format , 
3030	RGB_S3TC_DXT1_Format , 
31+ 	SIGNED_RED_GREEN_RGTC2_Format , 
32+ 	SIGNED_RED_RGTC1_Format , 
33+ 	RED_GREEN_RGTC2_Format , 
34+ 	RED_RGTC1_Format , 
3135	RGBFormat , 
3236	RGFormat , 
3337	RedFormat , 
@@ -58,6 +62,8 @@ import {
5862	VK_FORMAT_BC1_RGB_UNORM_BLOCK , 
5963	VK_FORMAT_BC3_SRGB_BLOCK , 
6064	VK_FORMAT_BC3_UNORM_BLOCK , 
65+ 	VK_FORMAT_BC4_SNORM_BLOCK , 
66+ 	VK_FORMAT_BC4_UNORM_BLOCK , 
6167	VK_FORMAT_BC5_SNORM_BLOCK , 
6268	VK_FORMAT_BC5_UNORM_BLOCK , 
6369	VK_FORMAT_BC7_SRGB_BLOCK , 
@@ -931,25 +937,25 @@ const UNCOMPRESSED_FORMATS = new Set( [ RGBAFormat, RGBFormat, RGFormat, RedForm
931937const  FORMAT_MAP  =  { 
932938
933939	[  VK_FORMAT_R32G32B32A32_SFLOAT  ] : RGBAFormat , 
934- 	[  VK_FORMAT_R16G16B16A16_SFLOAT  ] : RGBAFormat , 
935- 	[  VK_FORMAT_R8G8B8A8_UNORM  ] : RGBAFormat , 
936- 	[  VK_FORMAT_R8G8B8A8_SRGB  ] : RGBAFormat , 
937- 
938940	[  VK_FORMAT_R32G32_SFLOAT  ] : RGFormat , 
939- 	[  VK_FORMAT_R16G16_SFLOAT  ] : RGFormat , 
940- 	[  VK_FORMAT_R8G8_UNORM  ] : RGFormat , 
941- 	[  VK_FORMAT_R8G8_SRGB  ] : RGFormat , 
942- 
943941	[  VK_FORMAT_R32_SFLOAT  ] : RedFormat , 
942+ 
943+ 	[  VK_FORMAT_R16G16B16A16_SFLOAT  ] : RGBAFormat , 
944+ 	[  VK_FORMAT_R16G16_SFLOAT  ] : RGFormat , 
944945	[  VK_FORMAT_R16_SFLOAT  ] : RedFormat , 
946+ 
947+ 	[  VK_FORMAT_R8G8B8A8_SRGB  ] : RGBAFormat , 
948+ 	[  VK_FORMAT_R8G8B8A8_UNORM  ] : RGBAFormat , 
949+ 	[  VK_FORMAT_R8G8_SRGB  ] : RGFormat , 
950+ 	[  VK_FORMAT_R8G8_UNORM  ] : RGFormat , 
945951	[  VK_FORMAT_R8_SRGB  ] : RedFormat , 
946952	[  VK_FORMAT_R8_UNORM  ] : RedFormat , 
947953
948954	[  VK_FORMAT_E5B9G9R9_UFLOAT_PACK32  ] : RGBFormat , 
949955	[  VK_FORMAT_B10G11R11_UFLOAT_PACK32  ] : RGBFormat , 
950956
951- 	[  VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK  ] : RGB_ETC2_Format , 
952957	[  VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK  ] : RGBA_ETC2_EAC_Format , 
958+ 	[  VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK  ] : RGB_ETC2_Format , 
953959
954960	[  VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT  ] : RGBA_ASTC_4x4_Format , 
955961	[  VK_FORMAT_ASTC_4x4_SRGB_BLOCK  ] : RGBA_ASTC_4x4_Format , 
@@ -958,16 +964,19 @@ const FORMAT_MAP = {
958964	[  VK_FORMAT_ASTC_6x6_SRGB_BLOCK  ] : RGBA_ASTC_6x6_Format , 
959965	[  VK_FORMAT_ASTC_6x6_UNORM_BLOCK  ] : RGBA_ASTC_6x6_Format , 
960966
961- 	[  VK_FORMAT_BC1_RGBA_UNORM_BLOCK  ] : RGBA_S3TC_DXT1_Format , 
962967	[  VK_FORMAT_BC1_RGBA_SRGB_BLOCK  ] : RGBA_S3TC_DXT1_Format , 
963- 	[  VK_FORMAT_BC1_RGB_UNORM_BLOCK  ] : RGB_S3TC_DXT1_Format , 
968+ 	[  VK_FORMAT_BC1_RGBA_UNORM_BLOCK  ] : RGBA_S3TC_DXT1_Format , 
964969	[  VK_FORMAT_BC1_RGB_SRGB_BLOCK  ] : RGB_S3TC_DXT1_Format , 
970+ 	[  VK_FORMAT_BC1_RGB_UNORM_BLOCK  ] : RGB_S3TC_DXT1_Format , 
965971
966972	[  VK_FORMAT_BC3_SRGB_BLOCK  ] : RGBA_S3TC_DXT3_Format , 
967973	[  VK_FORMAT_BC3_UNORM_BLOCK  ] : RGBA_S3TC_DXT3_Format , 
968974
969- 	[  VK_FORMAT_BC5_SNORM_BLOCK  ] : RGBA_S3TC_DXT5_Format , 
970- 	[  VK_FORMAT_BC5_UNORM_BLOCK  ] : RGBA_S3TC_DXT5_Format , 
975+ 	[  VK_FORMAT_BC4_SNORM_BLOCK  ] : SIGNED_RED_RGTC1_Format , 
976+ 	[  VK_FORMAT_BC4_UNORM_BLOCK  ] : RED_RGTC1_Format , 
977+ 
978+ 	[  VK_FORMAT_BC5_SNORM_BLOCK  ] : SIGNED_RED_GREEN_RGTC2_Format , 
979+ 	[  VK_FORMAT_BC5_UNORM_BLOCK  ] : RED_GREEN_RGTC2_Format , 
971980
972981	[  VK_FORMAT_BC7_SRGB_BLOCK  ] : RGBA_BPTC_Format , 
973982	[  VK_FORMAT_BC7_UNORM_BLOCK  ] : RGBA_BPTC_Format , 
@@ -977,31 +986,50 @@ const FORMAT_MAP = {
977986const  TYPE_MAP  =  { 
978987
979988	[  VK_FORMAT_R32G32B32A32_SFLOAT  ] : FloatType , 
980- 	[  VK_FORMAT_R16G16B16A16_SFLOAT  ] : HalfFloatType , 
981- 	[  VK_FORMAT_R8G8B8A8_UNORM  ] : UnsignedByteType , 
982- 	[  VK_FORMAT_R8G8B8A8_SRGB  ] : UnsignedByteType , 
983- 
984989	[  VK_FORMAT_R32G32_SFLOAT  ] : FloatType , 
985- 	[  VK_FORMAT_R16G16_SFLOAT  ] : HalfFloatType , 
986- 	[  VK_FORMAT_R8G8_UNORM  ] : UnsignedByteType , 
987- 	[  VK_FORMAT_R8G8_SRGB  ] : UnsignedByteType , 
988- 
989990	[  VK_FORMAT_R32_SFLOAT  ] : FloatType , 
991+ 
992+ 	[  VK_FORMAT_R16G16B16A16_SFLOAT  ] : HalfFloatType , 
993+ 	[  VK_FORMAT_R16G16_SFLOAT  ] : HalfFloatType , 
990994	[  VK_FORMAT_R16_SFLOAT  ] : HalfFloatType , 
995+ 
996+ 	[  VK_FORMAT_R8G8B8A8_SRGB  ] : UnsignedByteType , 
997+ 	[  VK_FORMAT_R8G8B8A8_UNORM  ] : UnsignedByteType , 
998+ 	[  VK_FORMAT_R8G8_SRGB  ] : UnsignedByteType , 
999+ 	[  VK_FORMAT_R8G8_UNORM  ] : UnsignedByteType , 
9911000	[  VK_FORMAT_R8_SRGB  ] : UnsignedByteType , 
9921001	[  VK_FORMAT_R8_UNORM  ] : UnsignedByteType , 
9931002
9941003	[  VK_FORMAT_E5B9G9R9_UFLOAT_PACK32  ] : UnsignedInt5999Type , 
9951004	[  VK_FORMAT_B10G11R11_UFLOAT_PACK32  ] : UnsignedInt101111Type , 
9961005
997- 	[  VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK  ] : UnsignedByteType , 
9981006	[  VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK  ] : UnsignedByteType , 
1007+ 	[  VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK  ] : UnsignedByteType , 
9991008
10001009	[  VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT  ] : HalfFloatType , 
1010+ 	[  VK_FORMAT_ASTC_4x4_SRGB_BLOCK  ] : UnsignedByteType , 
1011+ 	[  VK_FORMAT_ASTC_4x4_UNORM_BLOCK  ] : UnsignedByteType , 
10011012	[  VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT  ] : HalfFloatType , 
10021013	[  VK_FORMAT_ASTC_6x6_SRGB_BLOCK  ] : UnsignedByteType , 
10031014	[  VK_FORMAT_ASTC_6x6_UNORM_BLOCK  ] : UnsignedByteType , 
10041015
1016+ 	[  VK_FORMAT_BC1_RGBA_SRGB_BLOCK  ] : UnsignedByteType , 
1017+ 	[  VK_FORMAT_BC1_RGBA_UNORM_BLOCK  ] : UnsignedByteType , 
1018+ 	[  VK_FORMAT_BC1_RGB_SRGB_BLOCK  ] : UnsignedByteType , 
1019+ 	[  VK_FORMAT_BC1_RGB_UNORM_BLOCK  ] : UnsignedByteType , 
1020+ 
1021+ 	[  VK_FORMAT_BC3_SRGB_BLOCK  ] : UnsignedByteType , 
1022+ 	[  VK_FORMAT_BC3_UNORM_BLOCK  ] : UnsignedByteType , 
1023+ 
1024+ 	[  VK_FORMAT_BC4_SNORM_BLOCK  ] : UnsignedByteType , 
1025+ 	[  VK_FORMAT_BC4_UNORM_BLOCK  ] : UnsignedByteType , 
1026+ 
1027+ 	[  VK_FORMAT_BC5_SNORM_BLOCK  ] : UnsignedByteType , 
1028+ 	[  VK_FORMAT_BC5_UNORM_BLOCK  ] : UnsignedByteType , 
1029+ 
1030+ 	[  VK_FORMAT_BC7_SRGB_BLOCK  ] : UnsignedByteType , 
1031+ 	[  VK_FORMAT_BC7_UNORM_BLOCK  ] : UnsignedByteType , 
1032+ 
10051033} ; 
10061034
10071035async  function  createRawTexture (  container  )  { 
@@ -1014,6 +1042,13 @@ async function createRawTexture( container ) {
10141042
10151043	} 
10161044
1045+ 	// TODO: Merge the TYPE_MAP warning into the thrown error above, after r190. 
1046+ 	if  (  TYPE_MAP [  vkFormat  ]  ===  undefined  )  { 
1047+ 
1048+ 		console . warn (  'THREE.KTX2Loader: Missing ".type" for vkFormat: '  +  vkFormat   ) ; 
1049+ 
1050+ 	} 
1051+ 
10171052	// 
10181053
10191054	let  zstd ; 
0 commit comments