@@ -4,7 +4,7 @@ use super::{
4
4
ParameterQualifier ,
5
5
} ,
6
6
context:: Context ,
7
- Error , ErrorKind , Parser , Result ,
7
+ Error , ErrorKind , Frontend , Result ,
8
8
} ;
9
9
use crate :: {
10
10
BinaryOperator , Block , Constant , DerivativeAxis , Expression , Handle , ImageClass ,
@@ -1676,7 +1676,7 @@ impl MacroCall {
1676
1676
/// finally returns the final expression with the correct result
1677
1677
pub fn call (
1678
1678
& self ,
1679
- parser : & mut Parser ,
1679
+ frontend : & mut Frontend ,
1680
1680
ctx : & mut Context ,
1681
1681
body : & mut Block ,
1682
1682
args : & mut [ Handle < Expression > ] ,
@@ -1688,8 +1688,14 @@ impl MacroCall {
1688
1688
args[ 0 ]
1689
1689
}
1690
1690
MacroCall :: SamplerShadow => {
1691
- sampled_to_depth ( & mut parser. module , ctx, args[ 0 ] , meta, & mut parser. errors ) ;
1692
- parser. invalidate_expression ( ctx, args[ 0 ] , meta) ?;
1691
+ sampled_to_depth (
1692
+ & mut frontend. module ,
1693
+ ctx,
1694
+ args[ 0 ] ,
1695
+ meta,
1696
+ & mut frontend. errors ,
1697
+ ) ;
1698
+ frontend. invalidate_expression ( ctx, args[ 0 ] , meta) ?;
1693
1699
ctx. samplers . insert ( args[ 0 ] , args[ 1 ] ) ;
1694
1700
args[ 0 ]
1695
1701
}
@@ -1702,7 +1708,7 @@ impl MacroCall {
1702
1708
let mut coords = args[ 1 ] ;
1703
1709
1704
1710
if proj {
1705
- let size = match * parser . resolve_type ( ctx, coords, meta) ? {
1711
+ let size = match * frontend . resolve_type ( ctx, coords, meta) ? {
1706
1712
TypeInner :: Vector { size, .. } => size,
1707
1713
_ => unreachable ! ( ) ,
1708
1714
} ;
@@ -1748,7 +1754,7 @@ impl MacroCall {
1748
1754
1749
1755
let extra = args. get ( 2 ) . copied ( ) ;
1750
1756
let comps =
1751
- parser . coordinate_components ( ctx, args[ 0 ] , coords, extra, meta, body) ?;
1757
+ frontend . coordinate_components ( ctx, args[ 0 ] , coords, extra, meta, body) ?;
1752
1758
1753
1759
let mut num_args = 2 ;
1754
1760
@@ -1795,10 +1801,10 @@ impl MacroCall {
1795
1801
true => {
1796
1802
let offset_arg = args[ num_args] ;
1797
1803
num_args += 1 ;
1798
- match parser . solve_constant ( ctx, offset_arg, meta) {
1804
+ match frontend . solve_constant ( ctx, offset_arg, meta) {
1799
1805
Ok ( v) => Some ( v) ,
1800
1806
Err ( e) => {
1801
- parser . errors . push ( e) ;
1807
+ frontend . errors . push ( e) ;
1802
1808
None
1803
1809
}
1804
1810
}
@@ -1832,7 +1838,7 @@ impl MacroCall {
1832
1838
if arrayed {
1833
1839
let mut components = Vec :: with_capacity ( 4 ) ;
1834
1840
1835
- let size = match * parser . resolve_type ( ctx, expr, meta) ? {
1841
+ let size = match * frontend . resolve_type ( ctx, expr, meta) ? {
1836
1842
TypeInner :: Vector { size : ori_size, .. } => {
1837
1843
for index in 0 ..( ori_size as u32 ) {
1838
1844
components. push ( ctx. add_expression (
@@ -1862,7 +1868,7 @@ impl MacroCall {
1862
1868
body,
1863
1869
) ) ;
1864
1870
1865
- let ty = parser . module . types . insert (
1871
+ let ty = frontend . module . types . insert (
1866
1872
Type {
1867
1873
name : None ,
1868
1874
inner : TypeInner :: Vector {
@@ -1881,7 +1887,7 @@ impl MacroCall {
1881
1887
}
1882
1888
MacroCall :: ImageLoad { multi } => {
1883
1889
let comps =
1884
- parser . coordinate_components ( ctx, args[ 0 ] , args[ 1 ] , None , meta, body) ?;
1890
+ frontend . coordinate_components ( ctx, args[ 0 ] , args[ 1 ] , None , meta, body) ?;
1885
1891
let ( sample, level) = match ( multi, args. get ( 2 ) ) {
1886
1892
( _, None ) => ( None , None ) ,
1887
1893
( true , Some ( & arg) ) => ( Some ( arg) , None ) ,
@@ -1901,7 +1907,7 @@ impl MacroCall {
1901
1907
}
1902
1908
MacroCall :: ImageStore => {
1903
1909
let comps =
1904
- parser . coordinate_components ( ctx, args[ 0 ] , args[ 1 ] , None , meta, body) ?;
1910
+ frontend . coordinate_components ( ctx, args[ 0 ] , args[ 1 ] , None , meta, body) ?;
1905
1911
ctx. emit_restart ( body) ;
1906
1912
body. push (
1907
1913
crate :: Statement :: ImageStore {
@@ -2037,7 +2043,7 @@ impl MacroCall {
2037
2043
body,
2038
2044
) ,
2039
2045
MacroCall :: Mod ( size) => {
2040
- ctx. implicit_splat ( parser , & mut args[ 1 ] , meta, size) ?;
2046
+ ctx. implicit_splat ( frontend , & mut args[ 1 ] , meta, size) ?;
2041
2047
2042
2048
// x - y * floor(x / y)
2043
2049
@@ -2081,7 +2087,7 @@ impl MacroCall {
2081
2087
)
2082
2088
}
2083
2089
MacroCall :: Splatted ( fun, size, i) => {
2084
- ctx. implicit_splat ( parser , & mut args[ i] , meta, size) ?;
2090
+ ctx. implicit_splat ( frontend , & mut args[ i] , meta, size) ?;
2085
2091
2086
2092
ctx. add_expression (
2087
2093
Expression :: Math {
@@ -2105,8 +2111,8 @@ impl MacroCall {
2105
2111
body,
2106
2112
) ,
2107
2113
MacroCall :: Clamp ( size) => {
2108
- ctx. implicit_splat ( parser , & mut args[ 1 ] , meta, size) ?;
2109
- ctx. implicit_splat ( parser , & mut args[ 2 ] , meta, size) ?;
2114
+ ctx. implicit_splat ( frontend , & mut args[ 1 ] , meta, size) ?;
2115
+ ctx. implicit_splat ( frontend , & mut args[ 2 ] , meta, size) ?;
2110
2116
2111
2117
ctx. add_expression (
2112
2118
Expression :: Math {
@@ -2143,8 +2149,8 @@ impl MacroCall {
2143
2149
return Ok ( None ) ;
2144
2150
}
2145
2151
MacroCall :: SmoothStep { splatted } => {
2146
- ctx. implicit_splat ( parser , & mut args[ 0 ] , meta, splatted) ?;
2147
- ctx. implicit_splat ( parser , & mut args[ 1 ] , meta, splatted) ?;
2152
+ ctx. implicit_splat ( frontend , & mut args[ 0 ] , meta, splatted) ?;
2153
+ ctx. implicit_splat ( frontend , & mut args[ 1 ] , meta, splatted) ?;
2148
2154
2149
2155
ctx. add_expression (
2150
2156
Expression :: Math {
@@ -2202,7 +2208,7 @@ fn texture_call(
2202
2208
2203
2209
/// Helper struct for texture calls with the separate components from the vector argument
2204
2210
///
2205
- /// Obtained by calling [`coordinate_components`](Parser ::coordinate_components)
2211
+ /// Obtained by calling [`coordinate_components`](Frontend ::coordinate_components)
2206
2212
#[ derive( Debug ) ]
2207
2213
struct CoordComponents {
2208
2214
coordinate : Handle < Expression > ,
@@ -2211,7 +2217,7 @@ struct CoordComponents {
2211
2217
used_extra : bool ,
2212
2218
}
2213
2219
2214
- impl Parser {
2220
+ impl Frontend {
2215
2221
/// Helper function for texture calls, splits the vector argument into it's components
2216
2222
fn coordinate_components (
2217
2223
& mut self ,
0 commit comments