@@ -1082,144 +1082,144 @@ impl super::PrivateCapabilities {
1082
1082
1083
1083
pub fn map_format ( & self , format : wgt:: TextureFormat ) -> MTLPixelFormat {
1084
1084
use wgt:: TextureFormat as Tf ;
1085
- use MTLPixelFormat :: * ;
1085
+ use MTLPixelFormat as MTL ;
1086
1086
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 ,
1118
1118
// 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 ,
1135
1135
Tf :: Depth24Plus => {
1136
1136
if self . format_depth24_stencil8 {
1137
- Depth24Unorm_Stencil8
1137
+ MTL :: Depth24Unorm_Stencil8
1138
1138
} else {
1139
- Depth32Float
1139
+ MTL :: Depth32Float
1140
1140
}
1141
1141
}
1142
1142
Tf :: Depth24PlusStencil8 => {
1143
1143
if self . format_depth24_stencil8 {
1144
- Depth24Unorm_Stencil8
1144
+ MTL :: Depth24Unorm_Stencil8
1145
1145
} else {
1146
- Depth32Float_Stencil8
1146
+ MTL :: Depth32Float_Stencil8
1147
1147
}
1148
1148
}
1149
1149
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 ,
1175
1175
Tf :: Astc { block, channel } => match channel {
1176
1176
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 ,
1191
1191
} ,
1192
1192
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 ,
1207
1207
} ,
1208
1208
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 ,
1223
1223
} ,
1224
1224
} ,
1225
1225
}
@@ -1232,18 +1232,18 @@ impl super::PrivateCapabilities {
1232
1232
) -> MTLPixelFormat {
1233
1233
use crate :: FormatAspects as Fa ;
1234
1234
use wgt:: TextureFormat as Tf ;
1235
- use MTLPixelFormat :: * ;
1235
+ use MTLPixelFormat as MTL ;
1236
1236
match ( format, aspects) {
1237
1237
// map combined depth-stencil format to their stencil-only format
1238
1238
// see https://developer.apple.com/library/archive/documentation/Miscellaneous/Conceptual/MetalProgrammingGuide/WhatsNewiniOS10tvOS10andOSX1012/WhatsNewiniOS10tvOS10andOSX1012.html#//apple_ref/doc/uid/TP40014221-CH14-DontLinkElementID_77
1239
1239
( Tf :: Depth24PlusStencil8 , Fa :: STENCIL ) => {
1240
1240
if self . format_depth24_stencil8 {
1241
- X24_Stencil8
1241
+ MTL :: X24_Stencil8
1242
1242
} else {
1243
- X32_Stencil8
1243
+ MTL :: X32_Stencil8
1244
1244
}
1245
1245
}
1246
- ( Tf :: Depth32FloatStencil8 , Fa :: STENCIL ) => X32_Stencil8 ,
1246
+ ( Tf :: Depth32FloatStencil8 , Fa :: STENCIL ) => MTL :: X32_Stencil8 ,
1247
1247
1248
1248
_ => self . map_format ( format) ,
1249
1249
}
0 commit comments