@@ -1082,144 +1082,144 @@ impl super::PrivateCapabilities {
10821082
10831083 pub fn map_format ( & self , format : wgt:: TextureFormat ) -> MTLPixelFormat {
10841084 use wgt:: TextureFormat as Tf ;
1085- use MTLPixelFormat :: * ;
1085+ use MTLPixelFormat as MTL ;
10861086 match format {
1087- Tf :: R8Unorm => R8Unorm ,
1088- Tf :: R8Snorm => R8Snorm ,
1089- Tf :: R8Uint => R8Uint ,
1090- Tf :: R8Sint => R8Sint ,
1091- Tf :: R16Uint => R16Uint ,
1092- Tf :: R16Sint => R16Sint ,
1093- Tf :: R16Unorm => R16Unorm ,
1094- Tf :: R16Snorm => R16Snorm ,
1095- Tf :: R16Float => R16Float ,
1096- Tf :: Rg8Unorm => RG8Unorm ,
1097- Tf :: Rg8Snorm => RG8Snorm ,
1098- Tf :: Rg8Uint => RG8Uint ,
1099- Tf :: Rg8Sint => RG8Sint ,
1100- Tf :: Rg16Unorm => RG16Unorm ,
1101- Tf :: Rg16Snorm => RG16Snorm ,
1102- Tf :: R32Uint => R32Uint ,
1103- Tf :: R32Sint => R32Sint ,
1104- Tf :: R32Float => R32Float ,
1105- Tf :: Rg16Uint => RG16Uint ,
1106- Tf :: Rg16Sint => RG16Sint ,
1107- Tf :: Rg16Float => RG16Float ,
1108- Tf :: Rgba8Unorm => RGBA8Unorm ,
1109- Tf :: Rgba8UnormSrgb => RGBA8Unorm_sRGB ,
1110- Tf :: Bgra8UnormSrgb => BGRA8Unorm_sRGB ,
1111- Tf :: Rgba8Snorm => RGBA8Snorm ,
1112- Tf :: Bgra8Unorm => BGRA8Unorm ,
1113- Tf :: Rgba8Uint => RGBA8Uint ,
1114- Tf :: Rgba8Sint => RGBA8Sint ,
1115- Tf :: Rgb10a2Uint => RGB10A2Uint ,
1116- Tf :: Rgb10a2Unorm => RGB10A2Unorm ,
1117- Tf :: Rg11b10Ufloat => RG11B10Float ,
1087+ Tf :: R8Unorm => MTL :: R8Unorm ,
1088+ Tf :: R8Snorm => MTL :: R8Snorm ,
1089+ Tf :: R8Uint => MTL :: R8Uint ,
1090+ Tf :: R8Sint => MTL :: R8Sint ,
1091+ Tf :: R16Uint => MTL :: R16Uint ,
1092+ Tf :: R16Sint => MTL :: R16Sint ,
1093+ Tf :: R16Unorm => MTL :: R16Unorm ,
1094+ Tf :: R16Snorm => MTL :: R16Snorm ,
1095+ Tf :: R16Float => MTL :: R16Float ,
1096+ Tf :: Rg8Unorm => MTL :: RG8Unorm ,
1097+ Tf :: Rg8Snorm => MTL :: RG8Snorm ,
1098+ Tf :: Rg8Uint => MTL :: RG8Uint ,
1099+ Tf :: Rg8Sint => MTL :: RG8Sint ,
1100+ Tf :: Rg16Unorm => MTL :: RG16Unorm ,
1101+ Tf :: Rg16Snorm => MTL :: RG16Snorm ,
1102+ Tf :: R32Uint => MTL :: R32Uint ,
1103+ Tf :: R32Sint => MTL :: R32Sint ,
1104+ Tf :: R32Float => MTL :: R32Float ,
1105+ Tf :: Rg16Uint => MTL :: RG16Uint ,
1106+ Tf :: Rg16Sint => MTL :: RG16Sint ,
1107+ Tf :: Rg16Float => MTL :: RG16Float ,
1108+ Tf :: Rgba8Unorm => MTL :: RGBA8Unorm ,
1109+ Tf :: Rgba8UnormSrgb => MTL :: RGBA8Unorm_sRGB ,
1110+ Tf :: Bgra8UnormSrgb => MTL :: BGRA8Unorm_sRGB ,
1111+ Tf :: Rgba8Snorm => MTL :: RGBA8Snorm ,
1112+ Tf :: Bgra8Unorm => MTL :: BGRA8Unorm ,
1113+ Tf :: Rgba8Uint => MTL :: RGBA8Uint ,
1114+ Tf :: Rgba8Sint => MTL :: RGBA8Sint ,
1115+ Tf :: Rgb10a2Uint => MTL :: RGB10A2Uint ,
1116+ Tf :: Rgb10a2Unorm => MTL :: RGB10A2Unorm ,
1117+ Tf :: Rg11b10Ufloat => MTL :: RG11B10Float ,
11181118 // Ruint64 textures are emulated on metal
1119- Tf :: R64Uint => RG32Uint ,
1120- Tf :: Rg32Uint => RG32Uint ,
1121- Tf :: Rg32Sint => RG32Sint ,
1122- Tf :: Rg32Float => RG32Float ,
1123- Tf :: Rgba16Uint => RGBA16Uint ,
1124- Tf :: Rgba16Sint => RGBA16Sint ,
1125- Tf :: Rgba16Unorm => RGBA16Unorm ,
1126- Tf :: Rgba16Snorm => RGBA16Snorm ,
1127- Tf :: Rgba16Float => RGBA16Float ,
1128- Tf :: Rgba32Uint => RGBA32Uint ,
1129- Tf :: Rgba32Sint => RGBA32Sint ,
1130- Tf :: Rgba32Float => RGBA32Float ,
1131- Tf :: Stencil8 => Stencil8 ,
1132- Tf :: Depth16Unorm => Depth16Unorm ,
1133- Tf :: Depth32Float => Depth32Float ,
1134- Tf :: Depth32FloatStencil8 => Depth32Float_Stencil8 ,
1119+ Tf :: R64Uint => MTL :: RG32Uint ,
1120+ Tf :: Rg32Uint => MTL :: RG32Uint ,
1121+ Tf :: Rg32Sint => MTL :: RG32Sint ,
1122+ Tf :: Rg32Float => MTL :: RG32Float ,
1123+ Tf :: Rgba16Uint => MTL :: RGBA16Uint ,
1124+ Tf :: Rgba16Sint => MTL :: RGBA16Sint ,
1125+ Tf :: Rgba16Unorm => MTL :: RGBA16Unorm ,
1126+ Tf :: Rgba16Snorm => MTL :: RGBA16Snorm ,
1127+ Tf :: Rgba16Float => MTL :: RGBA16Float ,
1128+ Tf :: Rgba32Uint => MTL :: RGBA32Uint ,
1129+ Tf :: Rgba32Sint => MTL :: RGBA32Sint ,
1130+ Tf :: Rgba32Float => MTL :: RGBA32Float ,
1131+ Tf :: Stencil8 => MTL :: Stencil8 ,
1132+ Tf :: Depth16Unorm => MTL :: Depth16Unorm ,
1133+ Tf :: Depth32Float => MTL :: Depth32Float ,
1134+ Tf :: Depth32FloatStencil8 => MTL :: Depth32Float_Stencil8 ,
11351135 Tf :: Depth24Plus => {
11361136 if self . format_depth24_stencil8 {
1137- Depth24Unorm_Stencil8
1137+ MTL :: Depth24Unorm_Stencil8
11381138 } else {
1139- Depth32Float
1139+ MTL :: Depth32Float
11401140 }
11411141 }
11421142 Tf :: Depth24PlusStencil8 => {
11431143 if self . format_depth24_stencil8 {
1144- Depth24Unorm_Stencil8
1144+ MTL :: Depth24Unorm_Stencil8
11451145 } else {
1146- Depth32Float_Stencil8
1146+ MTL :: Depth32Float_Stencil8
11471147 }
11481148 }
11491149 Tf :: NV12 => unreachable ! ( ) ,
1150- Tf :: Rgb9e5Ufloat => RGB9E5Float ,
1151- Tf :: Bc1RgbaUnorm => BC1_RGBA ,
1152- Tf :: Bc1RgbaUnormSrgb => BC1_RGBA_sRGB ,
1153- Tf :: Bc2RgbaUnorm => BC2_RGBA ,
1154- Tf :: Bc2RgbaUnormSrgb => BC2_RGBA_sRGB ,
1155- Tf :: Bc3RgbaUnorm => BC3_RGBA ,
1156- Tf :: Bc3RgbaUnormSrgb => BC3_RGBA_sRGB ,
1157- Tf :: Bc4RUnorm => BC4_RUnorm ,
1158- Tf :: Bc4RSnorm => BC4_RSnorm ,
1159- Tf :: Bc5RgUnorm => BC5_RGUnorm ,
1160- Tf :: Bc5RgSnorm => BC5_RGSnorm ,
1161- Tf :: Bc6hRgbFloat => BC6H_RGBFloat ,
1162- Tf :: Bc6hRgbUfloat => BC6H_RGBUfloat ,
1163- Tf :: Bc7RgbaUnorm => BC7_RGBAUnorm ,
1164- Tf :: Bc7RgbaUnormSrgb => BC7_RGBAUnorm_sRGB ,
1165- Tf :: Etc2Rgb8Unorm => ETC2_RGB8 ,
1166- Tf :: Etc2Rgb8UnormSrgb => ETC2_RGB8_sRGB ,
1167- Tf :: Etc2Rgb8A1Unorm => ETC2_RGB8A1 ,
1168- Tf :: Etc2Rgb8A1UnormSrgb => ETC2_RGB8A1_sRGB ,
1169- Tf :: Etc2Rgba8Unorm => EAC_RGBA8 ,
1170- Tf :: Etc2Rgba8UnormSrgb => EAC_RGBA8_sRGB ,
1171- Tf :: EacR11Unorm => EAC_R11Unorm ,
1172- Tf :: EacR11Snorm => EAC_R11Snorm ,
1173- Tf :: EacRg11Unorm => EAC_RG11Unorm ,
1174- Tf :: EacRg11Snorm => EAC_RG11Snorm ,
1150+ Tf :: Rgb9e5Ufloat => MTL :: RGB9E5Float ,
1151+ Tf :: Bc1RgbaUnorm => MTL :: BC1_RGBA ,
1152+ Tf :: Bc1RgbaUnormSrgb => MTL :: BC1_RGBA_sRGB ,
1153+ Tf :: Bc2RgbaUnorm => MTL :: BC2_RGBA ,
1154+ Tf :: Bc2RgbaUnormSrgb => MTL :: BC2_RGBA_sRGB ,
1155+ Tf :: Bc3RgbaUnorm => MTL :: BC3_RGBA ,
1156+ Tf :: Bc3RgbaUnormSrgb => MTL :: BC3_RGBA_sRGB ,
1157+ Tf :: Bc4RUnorm => MTL :: BC4_RUnorm ,
1158+ Tf :: Bc4RSnorm => MTL :: BC4_RSnorm ,
1159+ Tf :: Bc5RgUnorm => MTL :: BC5_RGUnorm ,
1160+ Tf :: Bc5RgSnorm => MTL :: BC5_RGSnorm ,
1161+ Tf :: Bc6hRgbFloat => MTL :: BC6H_RGBFloat ,
1162+ Tf :: Bc6hRgbUfloat => MTL :: BC6H_RGBUfloat ,
1163+ Tf :: Bc7RgbaUnorm => MTL :: BC7_RGBAUnorm ,
1164+ Tf :: Bc7RgbaUnormSrgb => MTL :: BC7_RGBAUnorm_sRGB ,
1165+ Tf :: Etc2Rgb8Unorm => MTL :: ETC2_RGB8 ,
1166+ Tf :: Etc2Rgb8UnormSrgb => MTL :: ETC2_RGB8_sRGB ,
1167+ Tf :: Etc2Rgb8A1Unorm => MTL :: ETC2_RGB8A1 ,
1168+ Tf :: Etc2Rgb8A1UnormSrgb => MTL :: ETC2_RGB8A1_sRGB ,
1169+ Tf :: Etc2Rgba8Unorm => MTL :: EAC_RGBA8 ,
1170+ Tf :: Etc2Rgba8UnormSrgb => MTL :: EAC_RGBA8_sRGB ,
1171+ Tf :: EacR11Unorm => MTL :: EAC_R11Unorm ,
1172+ Tf :: EacR11Snorm => MTL :: EAC_R11Snorm ,
1173+ Tf :: EacRg11Unorm => MTL :: EAC_RG11Unorm ,
1174+ Tf :: EacRg11Snorm => MTL :: EAC_RG11Snorm ,
11751175 Tf :: Astc { block, channel } => match channel {
11761176 AstcChannel :: Unorm => match block {
1177- AstcBlock :: B4x4 => ASTC_4x4_LDR ,
1178- AstcBlock :: B5x4 => ASTC_5x4_LDR ,
1179- AstcBlock :: B5x5 => ASTC_5x5_LDR ,
1180- AstcBlock :: B6x5 => ASTC_6x5_LDR ,
1181- AstcBlock :: B6x6 => ASTC_6x6_LDR ,
1182- AstcBlock :: B8x5 => ASTC_8x5_LDR ,
1183- AstcBlock :: B8x6 => ASTC_8x6_LDR ,
1184- AstcBlock :: B8x8 => ASTC_8x8_LDR ,
1185- AstcBlock :: B10x5 => ASTC_10x5_LDR ,
1186- AstcBlock :: B10x6 => ASTC_10x6_LDR ,
1187- AstcBlock :: B10x8 => ASTC_10x8_LDR ,
1188- AstcBlock :: B10x10 => ASTC_10x10_LDR ,
1189- AstcBlock :: B12x10 => ASTC_12x10_LDR ,
1190- AstcBlock :: B12x12 => ASTC_12x12_LDR ,
1177+ AstcBlock :: B4x4 => MTL :: ASTC_4x4_LDR ,
1178+ AstcBlock :: B5x4 => MTL :: ASTC_5x4_LDR ,
1179+ AstcBlock :: B5x5 => MTL :: ASTC_5x5_LDR ,
1180+ AstcBlock :: B6x5 => MTL :: ASTC_6x5_LDR ,
1181+ AstcBlock :: B6x6 => MTL :: ASTC_6x6_LDR ,
1182+ AstcBlock :: B8x5 => MTL :: ASTC_8x5_LDR ,
1183+ AstcBlock :: B8x6 => MTL :: ASTC_8x6_LDR ,
1184+ AstcBlock :: B8x8 => MTL :: ASTC_8x8_LDR ,
1185+ AstcBlock :: B10x5 => MTL :: ASTC_10x5_LDR ,
1186+ AstcBlock :: B10x6 => MTL :: ASTC_10x6_LDR ,
1187+ AstcBlock :: B10x8 => MTL :: ASTC_10x8_LDR ,
1188+ AstcBlock :: B10x10 => MTL :: ASTC_10x10_LDR ,
1189+ AstcBlock :: B12x10 => MTL :: ASTC_12x10_LDR ,
1190+ AstcBlock :: B12x12 => MTL :: ASTC_12x12_LDR ,
11911191 } ,
11921192 AstcChannel :: UnormSrgb => match block {
1193- AstcBlock :: B4x4 => ASTC_4x4_sRGB ,
1194- AstcBlock :: B5x4 => ASTC_5x4_sRGB ,
1195- AstcBlock :: B5x5 => ASTC_5x5_sRGB ,
1196- AstcBlock :: B6x5 => ASTC_6x5_sRGB ,
1197- AstcBlock :: B6x6 => ASTC_6x6_sRGB ,
1198- AstcBlock :: B8x5 => ASTC_8x5_sRGB ,
1199- AstcBlock :: B8x6 => ASTC_8x6_sRGB ,
1200- AstcBlock :: B8x8 => ASTC_8x8_sRGB ,
1201- AstcBlock :: B10x5 => ASTC_10x5_sRGB ,
1202- AstcBlock :: B10x6 => ASTC_10x6_sRGB ,
1203- AstcBlock :: B10x8 => ASTC_10x8_sRGB ,
1204- AstcBlock :: B10x10 => ASTC_10x10_sRGB ,
1205- AstcBlock :: B12x10 => ASTC_12x10_sRGB ,
1206- AstcBlock :: B12x12 => ASTC_12x12_sRGB ,
1193+ AstcBlock :: B4x4 => MTL :: ASTC_4x4_sRGB ,
1194+ AstcBlock :: B5x4 => MTL :: ASTC_5x4_sRGB ,
1195+ AstcBlock :: B5x5 => MTL :: ASTC_5x5_sRGB ,
1196+ AstcBlock :: B6x5 => MTL :: ASTC_6x5_sRGB ,
1197+ AstcBlock :: B6x6 => MTL :: ASTC_6x6_sRGB ,
1198+ AstcBlock :: B8x5 => MTL :: ASTC_8x5_sRGB ,
1199+ AstcBlock :: B8x6 => MTL :: ASTC_8x6_sRGB ,
1200+ AstcBlock :: B8x8 => MTL :: ASTC_8x8_sRGB ,
1201+ AstcBlock :: B10x5 => MTL :: ASTC_10x5_sRGB ,
1202+ AstcBlock :: B10x6 => MTL :: ASTC_10x6_sRGB ,
1203+ AstcBlock :: B10x8 => MTL :: ASTC_10x8_sRGB ,
1204+ AstcBlock :: B10x10 => MTL :: ASTC_10x10_sRGB ,
1205+ AstcBlock :: B12x10 => MTL :: ASTC_12x10_sRGB ,
1206+ AstcBlock :: B12x12 => MTL :: ASTC_12x12_sRGB ,
12071207 } ,
12081208 AstcChannel :: Hdr => match block {
1209- AstcBlock :: B4x4 => ASTC_4x4_HDR ,
1210- AstcBlock :: B5x4 => ASTC_5x4_HDR ,
1211- AstcBlock :: B5x5 => ASTC_5x5_HDR ,
1212- AstcBlock :: B6x5 => ASTC_6x5_HDR ,
1213- AstcBlock :: B6x6 => ASTC_6x6_HDR ,
1214- AstcBlock :: B8x5 => ASTC_8x5_HDR ,
1215- AstcBlock :: B8x6 => ASTC_8x6_HDR ,
1216- AstcBlock :: B8x8 => ASTC_8x8_HDR ,
1217- AstcBlock :: B10x5 => ASTC_10x5_HDR ,
1218- AstcBlock :: B10x6 => ASTC_10x6_HDR ,
1219- AstcBlock :: B10x8 => ASTC_10x8_HDR ,
1220- AstcBlock :: B10x10 => ASTC_10x10_HDR ,
1221- AstcBlock :: B12x10 => ASTC_12x10_HDR ,
1222- AstcBlock :: B12x12 => ASTC_12x12_HDR ,
1209+ AstcBlock :: B4x4 => MTL :: ASTC_4x4_HDR ,
1210+ AstcBlock :: B5x4 => MTL :: ASTC_5x4_HDR ,
1211+ AstcBlock :: B5x5 => MTL :: ASTC_5x5_HDR ,
1212+ AstcBlock :: B6x5 => MTL :: ASTC_6x5_HDR ,
1213+ AstcBlock :: B6x6 => MTL :: ASTC_6x6_HDR ,
1214+ AstcBlock :: B8x5 => MTL :: ASTC_8x5_HDR ,
1215+ AstcBlock :: B8x6 => MTL :: ASTC_8x6_HDR ,
1216+ AstcBlock :: B8x8 => MTL :: ASTC_8x8_HDR ,
1217+ AstcBlock :: B10x5 => MTL :: ASTC_10x5_HDR ,
1218+ AstcBlock :: B10x6 => MTL :: ASTC_10x6_HDR ,
1219+ AstcBlock :: B10x8 => MTL :: ASTC_10x8_HDR ,
1220+ AstcBlock :: B10x10 => MTL :: ASTC_10x10_HDR ,
1221+ AstcBlock :: B12x10 => MTL :: ASTC_12x10_HDR ,
1222+ AstcBlock :: B12x12 => MTL :: ASTC_12x12_HDR ,
12231223 } ,
12241224 } ,
12251225 }
@@ -1232,18 +1232,18 @@ impl super::PrivateCapabilities {
12321232 ) -> MTLPixelFormat {
12331233 use crate :: FormatAspects as Fa ;
12341234 use wgt:: TextureFormat as Tf ;
1235- use MTLPixelFormat :: * ;
1235+ use MTLPixelFormat as MTL ;
12361236 match ( format, aspects) {
12371237 // map combined depth-stencil format to their stencil-only format
12381238 // see https://developer.apple.com/library/archive/documentation/Miscellaneous/Conceptual/MetalProgrammingGuide/WhatsNewiniOS10tvOS10andOSX1012/WhatsNewiniOS10tvOS10andOSX1012.html#//apple_ref/doc/uid/TP40014221-CH14-DontLinkElementID_77
12391239 ( Tf :: Depth24PlusStencil8 , Fa :: STENCIL ) => {
12401240 if self . format_depth24_stencil8 {
1241- X24_Stencil8
1241+ MTL :: X24_Stencil8
12421242 } else {
1243- X32_Stencil8
1243+ MTL :: X32_Stencil8
12441244 }
12451245 }
1246- ( Tf :: Depth32FloatStencil8 , Fa :: STENCIL ) => X32_Stencil8 ,
1246+ ( Tf :: Depth32FloatStencil8 , Fa :: STENCIL ) => MTL :: X32_Stencil8 ,
12471247
12481248 _ => self . map_format ( format) ,
12491249 }
0 commit comments