@@ -423,7 +423,7 @@ impl<W: Write> Writer<W> {
423
423
self . out,
424
424
"vec{}<{}>" ,
425
425
common:: vector_size_str( size) ,
426
- scalar_kind_str ( scalar) ,
426
+ scalar. to_wgsl_if_implemented ( ) ? ,
427
427
) ?,
428
428
TypeInner :: Sampler { comparison : false } => {
429
429
write ! ( self . out, "sampler" ) ?;
@@ -445,7 +445,7 @@ impl<W: Write> Writer<W> {
445
445
Ic :: Sampled { kind, multi } => (
446
446
"" ,
447
447
if multi { "multisampled_" } else { "" } ,
448
- scalar_kind_str ( crate :: Scalar { kind, width : 4 } ) ,
448
+ crate :: Scalar { kind, width : 4 } . to_wgsl_if_implemented ( ) ? ,
449
449
"" ,
450
450
) ,
451
451
Ic :: Depth { multi } => {
@@ -478,10 +478,10 @@ impl<W: Write> Writer<W> {
478
478
}
479
479
}
480
480
TypeInner :: Scalar ( scalar) => {
481
- write ! ( self . out, "{}" , scalar_kind_str ( scalar) ) ?;
481
+ write ! ( self . out, "{}" , scalar. to_wgsl_if_implemented ( ) ? ) ?;
482
482
}
483
483
TypeInner :: Atomic ( scalar) => {
484
- write ! ( self . out, "atomic<{}>" , scalar_kind_str ( scalar) ) ?;
484
+ write ! ( self . out, "atomic<{}>" , scalar. to_wgsl_if_implemented ( ) ? ) ?;
485
485
}
486
486
TypeInner :: Array {
487
487
base,
@@ -533,7 +533,7 @@ impl<W: Write> Writer<W> {
533
533
"mat{}x{}<{}>" ,
534
534
common:: vector_size_str( columns) ,
535
535
common:: vector_size_str( rows) ,
536
- scalar_kind_str ( scalar)
536
+ scalar. to_wgsl_if_implemented ( ) ?
537
537
) ?;
538
538
}
539
539
TypeInner :: Pointer { base, space } => {
@@ -559,7 +559,12 @@ impl<W: Write> Writer<W> {
559
559
} => {
560
560
let ( address, maybe_access) = address_space_str ( space) ;
561
561
if let Some ( space) = address {
562
- write ! ( self . out, "ptr<{}, {}" , space, scalar_kind_str( scalar) ) ?;
562
+ write ! (
563
+ self . out,
564
+ "ptr<{}, {}" ,
565
+ space,
566
+ scalar. to_wgsl_if_implemented( ) ?
567
+ ) ?;
563
568
if let Some ( access) = maybe_access {
564
569
write ! ( self . out, ", {access}" ) ?;
565
570
}
@@ -582,7 +587,7 @@ impl<W: Write> Writer<W> {
582
587
"ptr<{}, vec{}<{}>" ,
583
588
space,
584
589
common:: vector_size_str( size) ,
585
- scalar_kind_str ( scalar)
590
+ scalar. to_wgsl_if_implemented ( ) ?
586
591
) ?;
587
592
if let Some ( access) = maybe_access {
588
593
write ! ( self . out, ", {access}" ) ?;
@@ -1590,7 +1595,7 @@ impl<W: Write> Writer<W> {
1590
1595
kind,
1591
1596
width : convert. unwrap_or ( scalar. width ) ,
1592
1597
} ;
1593
- let scalar_kind_str = scalar_kind_str ( scalar) ;
1598
+ let scalar_kind_str = scalar. to_wgsl_if_implemented ( ) ? ;
1594
1599
write ! (
1595
1600
self . out,
1596
1601
"mat{}x{}<{}>" ,
@@ -1608,7 +1613,7 @@ impl<W: Write> Writer<W> {
1608
1613
width : convert. unwrap_or ( width) ,
1609
1614
} ;
1610
1615
let vector_size_str = common:: vector_size_str ( size) ;
1611
- let scalar_kind_str = scalar_kind_str ( scalar) ;
1616
+ let scalar_kind_str = scalar. to_wgsl_if_implemented ( ) ? ;
1612
1617
if convert. is_some ( ) {
1613
1618
write ! ( self . out, "vec{vector_size_str}<{scalar_kind_str}>" ) ?;
1614
1619
} else {
@@ -1620,7 +1625,7 @@ impl<W: Write> Writer<W> {
1620
1625
kind,
1621
1626
width : convert. unwrap_or ( width) ,
1622
1627
} ;
1623
- let scalar_kind_str = scalar_kind_str ( scalar) ;
1628
+ let scalar_kind_str = scalar. to_wgsl_if_implemented ( ) ? ;
1624
1629
if convert. is_some ( ) {
1625
1630
write ! ( self . out, "{scalar_kind_str}" ) ?
1626
1631
} else {
@@ -1883,43 +1888,6 @@ const fn image_dimension_str(dim: crate::ImageDimension) -> &'static str {
1883
1888
}
1884
1889
}
1885
1890
1886
- const fn scalar_kind_str ( scalar : crate :: Scalar ) -> & ' static str {
1887
- use crate :: Scalar ;
1888
- use crate :: ScalarKind as Sk ;
1889
-
1890
- match scalar {
1891
- Scalar {
1892
- kind : Sk :: Float ,
1893
- width : 8 ,
1894
- } => "f64" ,
1895
- Scalar {
1896
- kind : Sk :: Float ,
1897
- width : 4 ,
1898
- } => "f32" ,
1899
- Scalar {
1900
- kind : Sk :: Sint ,
1901
- width : 4 ,
1902
- } => "i32" ,
1903
- Scalar {
1904
- kind : Sk :: Uint ,
1905
- width : 4 ,
1906
- } => "u32" ,
1907
- Scalar {
1908
- kind : Sk :: Sint ,
1909
- width : 8 ,
1910
- } => "i64" ,
1911
- Scalar {
1912
- kind : Sk :: Uint ,
1913
- width : 8 ,
1914
- } => "u64" ,
1915
- Scalar {
1916
- kind : Sk :: Bool ,
1917
- width : 1 ,
1918
- } => "bool" ,
1919
- _ => unreachable ! ( ) ,
1920
- }
1921
- }
1922
-
1923
1891
const fn address_space_str (
1924
1892
space : crate :: AddressSpace ,
1925
1893
) -> ( Option < & ' static str > , Option < & ' static str > ) {
0 commit comments