blob: c2c1018ebbf0625561b867786354925735a365b3 [file] [log] [blame]
dan sinclair1b77b6c2024-08-06 15:47:05 +00001; SPIR-V
2; Version: 1.3
3; Generator: Google Tint Compiler; 1
4; Bound: 75
5; Schema: 0
6 OpCapability Shader
7 OpMemoryModel Logical GLSL450
8 OpEntryPoint Fragment %fragment_main "fragment_main"
9 OpEntryPoint GLCompute %compute_main "compute_main"
10 OpEntryPoint Vertex %vertex_main "vertex_main" %vertex_main_position_Output %vertex_main_loc0_Output %vertex_main___point_size_Output
11 OpExecutionMode %fragment_main OriginUpperLeft
12 OpExecutionMode %compute_main LocalSize 1 1 1
13 OpMemberName %tint_symbol_1 0 "tint_symbol"
14 OpName %tint_symbol_1 "tint_symbol_1"
15 OpName %arg_1 "arg_1"
16 OpName %arg_2 "arg_2"
17 OpName %vertex_main_position_Output "vertex_main_position_Output"
18 OpName %vertex_main_loc0_Output "vertex_main_loc0_Output"
19 OpName %vertex_main___point_size_Output "vertex_main___point_size_Output"
20 OpName %textureGather_269250 "textureGather_269250"
21 OpName %arg_3 "arg_3"
22 OpName %arg_4 "arg_4"
23 OpName %res "res"
24 OpName %fragment_main "fragment_main"
25 OpName %compute_main "compute_main"
26 OpName %vertex_main_inner "vertex_main_inner"
27 OpMemberName %VertexOutput 0 "pos"
28 OpMemberName %VertexOutput 1 "prevent_dce"
29 OpName %VertexOutput "VertexOutput"
30 OpName %out "out"
31 OpName %vertex_main "vertex_main"
32 OpMemberDecorate %tint_symbol_1 0 Offset 0
33 OpDecorate %tint_symbol_1 Block
34 OpDecorate %1 DescriptorSet 0
35 OpDecorate %1 Binding 0
36 OpDecorate %arg_1 DescriptorSet 1
37 OpDecorate %arg_1 Binding 1
38 OpDecorate %arg_2 DescriptorSet 1
39 OpDecorate %arg_2 Binding 2
40 OpDecorate %vertex_main_position_Output BuiltIn Position
41 OpDecorate %vertex_main_loc0_Output Location 0
42 OpDecorate %vertex_main_loc0_Output Flat
43 OpDecorate %vertex_main___point_size_Output BuiltIn PointSize
44 OpMemberDecorate %VertexOutput 0 Offset 0
45 OpMemberDecorate %VertexOutput 1 Offset 16
46 %int = OpTypeInt 32 1
47 %v4int = OpTypeVector %int 4
48%tint_symbol_1 = OpTypeStruct %v4int
49%_ptr_StorageBuffer_tint_symbol_1 = OpTypePointer StorageBuffer %tint_symbol_1
50 %1 = OpVariable %_ptr_StorageBuffer_tint_symbol_1 StorageBuffer
51 %8 = OpTypeImage %int 2D 0 1 0 1 Unknown
52%_ptr_UniformConstant_8 = OpTypePointer UniformConstant %8
53 %arg_1 = OpVariable %_ptr_UniformConstant_8 UniformConstant
54 %11 = OpTypeSampler
55%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
56 %arg_2 = OpVariable %_ptr_UniformConstant_11 UniformConstant
57 %float = OpTypeFloat 32
58 %v4float = OpTypeVector %float 4
59%_ptr_Output_v4float = OpTypePointer Output %v4float
60%vertex_main_position_Output = OpVariable %_ptr_Output_v4float Output
61%_ptr_Output_v4int = OpTypePointer Output %v4int
62%vertex_main_loc0_Output = OpVariable %_ptr_Output_v4int Output
63%_ptr_Output_float = OpTypePointer Output %float
64%vertex_main___point_size_Output = OpVariable %_ptr_Output_float Output
65 %21 = OpTypeFunction %v4int
66 %v2float = OpTypeVector %float 2
67%_ptr_Function_v2float = OpTypePointer Function %v2float
68 %float_1 = OpConstant %float 1
69 %26 = OpConstantComposite %v2float %float_1 %float_1
70 %uint = OpTypeInt 32 0
71%_ptr_Function_uint = OpTypePointer Function %uint
72 %uint_1 = OpConstant %uint 1
73 %37 = OpTypeSampledImage %8
74 %v3float = OpTypeVector %float 3
75%_ptr_Function_v4int = OpTypePointer Function %v4int
76 %void = OpTypeVoid
77 %47 = OpTypeFunction %void
78%_ptr_StorageBuffer_v4int = OpTypePointer StorageBuffer %v4int
79 %uint_0 = OpConstant %uint 0
80%VertexOutput = OpTypeStruct %v4float %v4int
81 %59 = OpTypeFunction %VertexOutput
82%_ptr_Function_VertexOutput = OpTypePointer Function %VertexOutput
83 %63 = OpConstantNull %VertexOutput
84%_ptr_Function_v4float = OpTypePointer Function %v4float
85 %66 = OpConstantNull %v4float
86%textureGather_269250 = OpFunction %v4int None %21
87 %22 = OpLabel
88 %arg_3 = OpVariable %_ptr_Function_v2float Function
89 %arg_4 = OpVariable %_ptr_Function_uint Function
90 %res = OpVariable %_ptr_Function_v4int Function
91 OpStore %arg_3 %26
92 OpStore %arg_4 %uint_1
93 %32 = OpLoad %8 %arg_1
94 %33 = OpLoad %11 %arg_2
95 %34 = OpLoad %v2float %arg_3
96 %35 = OpLoad %uint %arg_4
97 %36 = OpSampledImage %37 %32 %33
98 %38 = OpConvertUToF %float %35
99 %40 = OpCompositeConstruct %v3float %34 %38
100 %41 = OpImageGather %v4int %36 %40 %uint_1 None
101 OpStore %res %41
102 %44 = OpLoad %v4int %res
103 OpReturnValue %44
104 OpFunctionEnd
105%fragment_main = OpFunction %void None %47
106 %48 = OpLabel
107 %49 = OpFunctionCall %v4int %textureGather_269250
108 %50 = OpAccessChain %_ptr_StorageBuffer_v4int %1 %uint_0
109 OpStore %50 %49
110 OpReturn
111 OpFunctionEnd
112%compute_main = OpFunction %void None %47
113 %54 = OpLabel
114 %55 = OpFunctionCall %v4int %textureGather_269250
115 %56 = OpAccessChain %_ptr_StorageBuffer_v4int %1 %uint_0
116 OpStore %56 %55
117 OpReturn
118 OpFunctionEnd
119%vertex_main_inner = OpFunction %VertexOutput None %59
120 %60 = OpLabel
121 %out = OpVariable %_ptr_Function_VertexOutput Function %63
122 %64 = OpAccessChain %_ptr_Function_v4float %out %uint_0
123 OpStore %64 %66
124 %67 = OpAccessChain %_ptr_Function_v4int %out %uint_1
125 %68 = OpFunctionCall %v4int %textureGather_269250
126 OpStore %67 %68
127 %69 = OpLoad %VertexOutput %out
128 OpReturnValue %69
129 OpFunctionEnd
130%vertex_main = OpFunction %void None %47
131 %71 = OpLabel
132 %72 = OpFunctionCall %VertexOutput %vertex_main_inner
133 %73 = OpCompositeExtract %v4float %72 0
134 OpStore %vertex_main_position_Output %73
135 %74 = OpCompositeExtract %v4int %72 1
136 OpStore %vertex_main_loc0_Output %74
137 OpStore %vertex_main___point_size_Output %float_1
138 OpReturn
139 OpFunctionEnd