glsl2: Implement noise[1234] built-in functions using ir_unop_noise
[mesa/nouveau-pmpeg.git] / src / glsl / builtins / ir / noise3
blobf191e145f9921c577a525dfe100cff6c8098d9b3
1 ((function noise3
2   (signature vec3
3     (parameters (declare (in) vec4 p))
4     (
5       (declare () float a)
6       (declare () float b)
7       (declare () float c)
8       (declare () vec3 t)
10       (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))
11       (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))
12       (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0)))))
14       (assign (constant bool (1)) (x) (var_ref t) (swiz xxx (var_ref a)))
15       (assign (constant bool (1)) (y) (var_ref t) (swiz xxx (var_ref b)))
16       (assign (constant bool (1)) (z) (var_ref t) (swiz xxx (var_ref c)))
17       (return (var_ref t))
18     ))
20   (signature vec3
21     (parameters (declare (in) vec3 p))
22     (
23       (declare () float a)
24       (declare () float b)
25       (declare () float c)
26       (declare () vec3 t)
28       (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))
29       (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))
30       (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0)))))
32       (assign (constant bool (1)) (x) (var_ref t) (swiz xxx (var_ref a)))
33       (assign (constant bool (1)) (y) (var_ref t) (swiz xxx (var_ref b)))
34       (assign (constant bool (1)) (z) (var_ref t) (swiz xxx (var_ref c)))
35       (return (var_ref t))
36     ))
38   (signature vec3
39     (parameters (declare (in) vec2 p))
40     (
41       (declare () float a)
42       (declare () float b)
43       (declare () float c)
44       (declare () vec3 t)
46       (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))
47       (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))
48       (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0)))))
50       (assign (constant bool (1)) (x) (var_ref t) (swiz xxx (var_ref a)))
51       (assign (constant bool (1)) (y) (var_ref t) (swiz xxx (var_ref b)))
52       (assign (constant bool (1)) (z) (var_ref t) (swiz xxx (var_ref c)))
53       (return (var_ref t))
54     ))
56   (signature vec3
57     (parameters (declare (in) float p))
58     (
59       (declare () float a)
60       (declare () float b)
61       (declare () float c)
62       (declare () vec3 t)
64       (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))
65       (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))
66       (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression float + (var_ref p) (constant float (1559.0)))))
68       (assign (constant bool (1)) (x) (var_ref t) (swiz xxx (var_ref a)))
69       (assign (constant bool (1)) (y) (var_ref t) (swiz xxx (var_ref b)))
70       (assign (constant bool (1)) (z) (var_ref t) (swiz xxx (var_ref c)))
71       (return (var_ref t))
72     ))