1
1
; SPIR-V
2
2
; Version: 1.2
3
3
; Generator: rspirv
4
- ; Bound: 43
4
+ ; Bound: 46
5
5
OpCapability Shader
6
6
OpCapability Linkage
7
7
OpExtension "SPV_KHR_storage_buffer_storage_class"
8
8
%1 = OpExtInstImport "GLSL.std.450"
9
9
OpMemoryModel Logical GLSL450
10
10
%3 = OpString "pointers.wgsl"
11
11
OpSource Unknown 0 %3 "fn f() {
12
- var v: vec2<i32 >;
13
- let px = &v.x ;
14
- *px = 10 ;
12
+ var v: mat2x2<f32 >;
13
+ let px = &v[0] ;
14
+ *px = vec2<f32>(10.0) ;
15
15
}
16
16
17
17
struct DynamicArray {
@@ -35,80 +35,84 @@ fn index_dynamic_array(i: i32, v: u32) {
35
35
(*p)[i] = val + v;
36
36
}
37
37
"
38
- OpMemberName %8 0 "arr"
39
- OpName %8 "DynamicArray"
40
- OpName %9 "dynamic_array"
41
- OpName %12 "f"
42
- OpName %15 "v"
43
- OpName %23 "i"
44
- OpName %24 "v"
45
- OpName %25 "index_unsized"
46
- OpName %35 "i"
47
- OpName %36 "v"
48
- OpName %37 "index_dynamic_array"
49
- OpDecorate %7 ArrayStride 4
50
- OpMemberDecorate %8 0 Offset 0
51
- OpDecorate %8 Block
52
- OpDecorate %9 DescriptorSet 0
53
- OpDecorate %9 Binding 0
38
+ OpMemberName %9 0 "arr"
39
+ OpName %9 "DynamicArray"
40
+ OpName %11 "dynamic_array"
41
+ OpName %14 "f"
42
+ OpName %18 "v"
43
+ OpName %26 "i"
44
+ OpName %27 "v"
45
+ OpName %28 "index_unsized"
46
+ OpName %38 "i"
47
+ OpName %39 "v"
48
+ OpName %40 "index_dynamic_array"
49
+ OpDecorate %8 ArrayStride 4
50
+ OpMemberDecorate %9 0 Offset 0
51
+ OpDecorate %9 Block
52
+ OpDecorate %11 DescriptorSet 0
53
+ OpDecorate %11 Binding 0
54
54
%2 = OpTypeVoid
55
- %4 = OpTypeInt 32 1
56
- %5 = OpTypeVector %4 2
57
- %6 = OpTypeInt 32 0
58
- %7 = OpTypeRuntimeArray %6
59
- %8 = OpTypeStruct %7
60
- %10 = OpTypePointer StorageBuffer %8
61
- %9 = OpVariable %10 StorageBuffer
62
- %13 = OpTypeFunction %2
63
- %14 = OpConstant %4 10
64
- %16 = OpTypePointer Function %5
65
- %17 = OpConstantNull %5
55
+ %6 = OpTypeFloat 32
56
+ %5 = OpTypeVector %6 2
57
+ %4 = OpTypeMatrix %5 2
58
+ %7 = OpTypeInt 32 0
59
+ %8 = OpTypeRuntimeArray %7
60
+ %9 = OpTypeStruct %8
61
+ %10 = OpTypeInt 32 1
62
+ %12 = OpTypePointer StorageBuffer %9
63
+ %11 = OpVariable %12 StorageBuffer
64
+ %15 = OpTypeFunction %2
65
+ %16 = OpConstant %6 10.0
66
+ %17 = OpConstantComposite %5 %16 %16
66
67
%19 = OpTypePointer Function %4
67
- %20 = OpConstant %6 0
68
- %26 = OpTypeFunction %2 %4 %6
69
- %28 = OpTypePointer StorageBuffer %7
70
- %29 = OpTypePointer StorageBuffer %6
71
- %12 = OpFunction %2 None %13
72
- %11 = OpLabel
73
- %15 = OpVariable %16 Function %17
74
- OpBranch %18
75
- %18 = OpLabel
68
+ %20 = OpConstantNull %4
69
+ %22 = OpTypePointer Function %5
70
+ %23 = OpConstant %7 0
71
+ %29 = OpTypeFunction %2 %10 %7
72
+ %31 = OpTypePointer StorageBuffer %8
73
+ %32 = OpTypePointer StorageBuffer %7
74
+ %14 = OpFunction %2 None %15
75
+ %13 = OpLabel
76
+ %18 = OpVariable %19 Function %20
77
+ OpBranch %21
78
+ %21 = OpLabel
76
79
OpLine %3 3 14
80
+ OpLine %3 4 10
77
81
OpLine %3 4 4
78
- %21 = OpAccessChain %19 %15 %20
79
- OpStore %21 %14
82
+ %24 = OpAccessChain %22 %18 %23
83
+ OpStore %24 %17
80
84
OpReturn
81
85
OpFunctionEnd
82
- %25 = OpFunction %2 None %26
83
- %23 = OpFunctionParameter %4
84
- %24 = OpFunctionParameter %6
85
- %22 = OpLabel
86
- OpBranch %27
87
- %27 = OpLabel
86
+ %28 = OpFunction %2 None %29
87
+ %26 = OpFunctionParameter %10
88
+ %27 = OpFunctionParameter %7
89
+ %25 = OpLabel
90
+ OpBranch %30
91
+ %30 = OpLabel
88
92
OpLine %3 17 14
89
- %30 = OpAccessChain %29 %9 %20 %23
90
- %31 = OpLoad %6 %30
93
+ %33 = OpAccessChain %32 %11 %23 %26
94
+ %34 = OpLoad %7 %33
91
95
OpLine %3 18 4
92
- %32 = OpIAdd %6 %31 %24
96
+ %35 = OpIAdd %7 %34 %27
93
97
OpLine %3 18 4
94
- %33 = OpAccessChain %29 %9 %20 %23
95
- OpStore %33 %32
98
+ %36 = OpAccessChain %32 %11 %23 %26
99
+ OpStore %36 %35
96
100
OpReturn
97
101
OpFunctionEnd
98
- %37 = OpFunction %2 None %26
99
- %35 = OpFunctionParameter %4
100
- %36 = OpFunctionParameter %6
101
- %34 = OpLabel
102
- OpBranch %38
103
- %38 = OpLabel
102
+ %40 = OpFunction %2 None %29
103
+ %38 = OpFunctionParameter %10
104
+ %39 = OpFunctionParameter %7
105
+ %37 = OpLabel
106
+ OpBranch %41
107
+ %41 = OpLabel
104
108
OpLine %3 22 51
105
109
OpLine %3 24 14
106
- %39 = OpAccessChain %29 %9 %20 %35
107
- %40 = OpLoad %6 %39
110
+ %42 = OpAccessChain %32 %11 %23 %38
111
+ %43 = OpLoad %7 %42
108
112
OpLine %3 25 4
109
- %41 = OpIAdd %6 %40 %36
113
+ %44 = OpIAdd %7 %43 %39
110
114
OpLine %3 25 4
111
- %42 = OpAccessChain %29 %9 %20 %35
112
- OpStore %42 %41
115
+ %45 = OpAccessChain %32 %11 %23 %38
116
+ OpStore %45 %44
113
117
OpReturn
114
118
OpFunctionEnd
0 commit comments