@@ -189,11 +189,58 @@ pub fn map_blend_op(operation: &pso::BlendOp) -> (MTLBlendOperation, MTLBlendFac
189
189
190
190
191
191
pub fn map_vertex_format ( format : Format ) -> Option < MTLVertexFormat > {
192
- // TODO: more formats
193
- Some ( match format {
194
- Format :: Rgba32Float => MTLVertexFormat :: Float4 ,
195
- Format :: Rgb32Float => MTLVertexFormat :: Float3 ,
196
- Format :: Rg32Float => MTLVertexFormat :: Float2 ,
192
+ use metal:: MTLVertexFormat :: * ;
193
+ use hal:: format:: Format as f;
194
+ Some ( match format {
195
+ f:: R8Unorm => UCharNormalized ,
196
+ f:: R8Inorm => CharNormalized ,
197
+ f:: R8Uint => UChar ,
198
+ f:: R8Int => Char ,
199
+ f:: Rg8Unorm => UChar2Normalized ,
200
+ f:: Rg8Inorm => Char2Normalized ,
201
+ f:: Rg8Uint => UChar2 ,
202
+ f:: Rg8Int => Char2 ,
203
+ f:: Rgb8Unorm => UChar3Normalized ,
204
+ f:: Rgb8Inorm => Char3Normalized ,
205
+ f:: Rgb8Uint => UChar3 ,
206
+ f:: Rgb8Int => Char3 ,
207
+ f:: Rgba8Unorm => UChar4Normalized ,
208
+ f:: Rgba8Inorm => Char4Normalized ,
209
+ f:: Rgba8Uint => UChar4 ,
210
+ f:: Rgba8Int => Char4 ,
211
+ f:: Bgra8Unorm => UChar4Normalized_BGRA ,
212
+ f:: R16Unorm => UShortNormalized ,
213
+ f:: R16Inorm => ShortNormalized ,
214
+ f:: R16Uint => UShort ,
215
+ f:: R16Int => Short ,
216
+ f:: R16Float => Half ,
217
+ f:: Rg16Unorm => UShort2Normalized ,
218
+ f:: Rg16Inorm => Short2Normalized ,
219
+ f:: Rg16Uint => UShort2 ,
220
+ f:: Rg16Int => Short2 ,
221
+ f:: Rg16Float => Half2 ,
222
+ f:: Rgb16Unorm => UShort3Normalized ,
223
+ f:: Rgb16Inorm => Short3Normalized ,
224
+ f:: Rgb16Uint => UShort3 ,
225
+ f:: Rgb16Int => Short3 ,
226
+ f:: Rgb16Float => Half3 ,
227
+ f:: Rgba16Unorm => UShort4Normalized ,
228
+ f:: Rgba16Inorm => Short4Normalized ,
229
+ f:: Rgba16Uint => UShort4 ,
230
+ f:: Rgba16Int => Short4 ,
231
+ f:: Rgba16Float => Half4 ,
232
+ f:: R32Uint => UInt ,
233
+ f:: R32Int => Int ,
234
+ f:: R32Float => Float ,
235
+ f:: Rg32Uint => UInt2 ,
236
+ f:: Rg32Int => Int2 ,
237
+ f:: Rg32Float => Float2 ,
238
+ f:: Rgb32Uint => UInt3 ,
239
+ f:: Rgb32Int => Int3 ,
240
+ f:: Rgb32Float => Float3 ,
241
+ f:: Rgba32Uint => UInt4 ,
242
+ f:: Rgba32Int => Int4 ,
243
+ f:: Rgba32Float => Float4 ,
197
244
_ => return None ,
198
245
} )
199
246
}
0 commit comments