@@ -287,10 +287,69 @@ pub fn map_texture_format(texture_format: resource::TextureFormat) -> hal::forma
287287 use hal:: format:: Format as H ;
288288 use crate :: resource:: TextureFormat :: * ;
289289 match texture_format {
290- R8g8b8a8Unorm => H :: Rgba8Unorm ,
291- R8g8b8a8Uint => H :: Rgba8Uint ,
292- B8g8r8a8Unorm => H :: Bgra8Unorm ,
290+ // Normal 8 bit formats
291+ R8Unorm => H :: R8Unorm ,
292+ R8UnormSrgb => H :: R8Srgb ,
293+ R8Snorm => H :: R8Inorm ,
294+ R8Uint => H :: R8Uint ,
295+ R8Sint => H :: R8Int ,
296+
297+ // Normal 16 bit formats
298+ R16Unorm => H :: R16Unorm ,
299+ R16Snorm => H :: R16Inorm ,
300+ R16Uint => H :: R16Uint ,
301+ R16Sint => H :: R16Int ,
302+ R16Float => H :: R16Float ,
303+
304+ Rg8Unorm => H :: Rg8Unorm ,
305+ Rg8UnormSrgb => H :: Rg8Srgb ,
306+ Rg8Snorm => H :: Rg8Inorm ,
307+ Rg8Uint => H :: Rg8Uint ,
308+ Rg8Sint => H :: Rg8Int ,
309+
310+ // Packed 16 bit formats
311+ B5g6r5Unorm => H :: B5g6r5Unorm ,
312+
313+ // Normal 32 bit formats
314+ R32Uint => H :: R32Uint ,
315+ R32Sint => H :: R32Int ,
316+ R32Float => H :: R32Float ,
317+ Rg16Unorm => H :: Rg16Unorm ,
318+ Rg16Snorm => H :: Rg16Inorm ,
319+ Rg16Uint => H :: Rg16Uint ,
320+ Rg16Sint => H :: Rg16Int ,
321+ Rg16Float => H :: Rg16Float ,
322+ Rgba8Unorm => H :: Rgba8Unorm ,
323+ Rgba8UnormSrgb => H :: Rgba8Srgb ,
324+ Rgba8Snorm => H :: Rgba8Inorm ,
325+ Rgba8Uint => H :: Rgba8Uint ,
326+ Rgba8Sint => H :: Rgba8Int ,
327+ Bgra8Unorm => H :: Bgra8Unorm ,
328+ Bgra8UnormSrgb => H :: Bgra8Srgb ,
329+
330+ // Packed 32 bit formats
331+ Rgb10a2Unorm => H :: A2r10g10b10Unorm ,
332+ Rg11b10Float => H :: B10g11r11Ufloat ,
333+
334+ // Normal 64 bit formats
335+ Rg32Uint => H :: Rg32Uint ,
336+ Rg32Sint => H :: Rg32Int ,
337+ Rg32Float => H :: Rg32Float ,
338+ Rgba16Unorm => H :: Rgba16Unorm ,
339+ Rgba16Snorm => H :: Rgba16Inorm ,
340+ Rgba16Uint => H :: Rgba16Uint ,
341+ Rgba16Sint => H :: Rgba16Int ,
342+ Rgba16Float => H :: Rgba16Float ,
343+
344+ // Normal 128 bit formats
345+ Rgba32Uint => H :: Rgba32Uint ,
346+ Rgba32Sint => H :: Rgba32Int ,
347+ Rgba32Float => H :: Rgba32Float ,
348+
349+ // Depth and stencil formats
350+ D16Unorm => H :: D16Unorm ,
293351 D32Float => H :: D32Float ,
352+ D24UnormS8Uint => H :: D24UnormS8Uint ,
294353 D32FloatS8Uint => H :: D32FloatS8Uint ,
295354 }
296355}
0 commit comments