@@ -81,4 +81,24 @@ spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader], []> {
81
81
%2 = spirv.GL.FindUMsb %arg0 : i32
82
82
spirv.Return
83
83
}
84
+
85
+ spirv.func @vector (%arg0 : f32 , %arg1 : vector <3 xf32 >, %arg2 : vector <3 xf32 >) " None" {
86
+ // CHECK: {{%.*}} = spirv.GL.Cross {{%.*}}, {{%.*}} : vector<3xf32>
87
+ %0 = spirv.GL.Cross %arg1 , %arg2 : vector <3 xf32 >
88
+ // CHECK: {{%.*}} = spirv.GL.Normalize {{%.*}} : f32
89
+ %1 = spirv.GL.Normalize %arg0 : f32
90
+ // CHECK: {{%.*}} = spirv.GL.Normalize {{%.*}} : vector<3xf32>
91
+ %2 = spirv.GL.Normalize %arg1 : vector <3 xf32 >
92
+ // CHECK: {{%.*}} = spirv.GL.Reflect {{%.*}}, {{%.*}} : f32
93
+ %3 = spirv.GL.Reflect %arg0 , %arg0 : f32
94
+ // CHECK: {{%.*}} = spirv.GL.Reflect {{%.*}}, {{%.*}} : vector<3xf32>
95
+ %4 = spirv.GL.Reflect %arg1 , %arg2 : vector <3 xf32 >
96
+ // CHECK: {{%.*}} = spirv.GL.Distance {{%.*}}, {{%.*}} : f32, f32 -> f32
97
+ %5 = spirv.GL.Distance %arg0 , %arg0 : f32 , f32 -> f32
98
+ // CHECK: {{%.*}} = spirv.GL.Distance {{%.*}}, {{%.*}} : vector<3xf32>, vector<3xf32> -> f32
99
+ %6 = spirv.GL.Distance %arg1 , %arg2 : vector <3 xf32 >, vector <3 xf32 > -> f32
100
+ spirv.Return
101
+ }
102
+
103
+
84
104
}
0 commit comments