1; SPIR-V
2; Version: 1.0
3; Generator: Khronos Glslang Reference Front End; 10
4; Bound: 44
5; Schema: 0
6               OpCapability Tessellation
7               OpCapability TessellationPointSize
8          %1 = OpExtInstImport "GLSL.std.450"
9               OpMemoryModel Logical GLSL450
10               OpEntryPoint TessellationControl %main "main" %c %gl_InvocationID %p %gl_out
11               OpExecutionMode %main OutputVertices 4
12               OpSource GLSL 450
13               OpName %main "main"
14               OpName %C "C"
15               OpMemberName %C 0 "v"
16               OpName %c "c"
17               OpName %gl_InvocationID "gl_InvocationID"
18               OpName %P "P"
19               OpMemberName %P 0 "v"
20               OpName %p "p"
21               OpName %gl_PerVertex "gl_PerVertex"
22               OpMemberName %gl_PerVertex 0 "gl_Position"
23               OpMemberName %gl_PerVertex 1 "gl_PointSize"
24               OpMemberName %gl_PerVertex 2 "gl_ClipDistance"
25               OpMemberName %gl_PerVertex 3 "gl_CullDistance"
26               OpName %gl_out "gl_out"
27               OpDecorate %C Block
28               OpDecorate %c Location 0
29               OpDecorate %gl_InvocationID BuiltIn InvocationId
30               OpMemberDecorate %P 0 Patch
31               OpDecorate %P Block
32               OpDecorate %p Location 1
33               OpMemberDecorate %gl_PerVertex 0 BuiltIn Position
34               OpMemberDecorate %gl_PerVertex 1 BuiltIn PointSize
35               OpMemberDecorate %gl_PerVertex 2 BuiltIn ClipDistance
36               OpMemberDecorate %gl_PerVertex 3 BuiltIn CullDistance
37               OpDecorate %gl_PerVertex Block
38       %void = OpTypeVoid
39          %3 = OpTypeFunction %void
40      %float = OpTypeFloat 32
41    %v4float = OpTypeVector %float 4
42          %C = OpTypeStruct %v4float
43       %uint = OpTypeInt 32 0
44     %uint_4 = OpConstant %uint 4
45%_arr_C_uint_4 = OpTypeArray %C %uint_4
46%_ptr_Output__arr_C_uint_4 = OpTypePointer Output %_arr_C_uint_4
47		%zero_c = OpConstantNull %_arr_C_uint_4
48          %c = OpVariable %_ptr_Output__arr_C_uint_4 Output %zero_c
49        %int = OpTypeInt 32 1
50%_ptr_Input_int = OpTypePointer Input %int
51%gl_InvocationID = OpVariable %_ptr_Input_int Input
52      %int_0 = OpConstant %int 0
53    %float_1 = OpConstant %float 1
54         %20 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
55%_ptr_Output_v4float = OpTypePointer Output %v4float
56          %P = OpTypeStruct %v4float
57%_ptr_Output_P = OpTypePointer Output %P
58		%zero_p = OpConstantNull %P
59          %p = OpVariable %_ptr_Output_P Output %zero_p
60    %float_2 = OpConstant %float 2
61         %27 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
62     %uint_1 = OpConstant %uint 1
63%_arr_float_uint_1 = OpTypeArray %float %uint_1
64%gl_PerVertex = OpTypeStruct %v4float %float %_arr_float_uint_1 %_arr_float_uint_1
65%_arr_gl_PerVertex_uint_4 = OpTypeArray %gl_PerVertex %uint_4
66%_ptr_Output__arr_gl_PerVertex_uint_4 = OpTypePointer Output %_arr_gl_PerVertex_uint_4
67     %gl_out = OpVariable %_ptr_Output__arr_gl_PerVertex_uint_4 Output
68    %float_3 = OpConstant %float 3
69         %37 = OpConstantComposite %v4float %float_3 %float_3 %float_3 %float_3
70      %int_1 = OpConstant %int 1
71    %float_4 = OpConstant %float 4
72%_ptr_Output_float = OpTypePointer Output %float
73       %main = OpFunction %void None %3
74          %5 = OpLabel
75         %17 = OpLoad %int %gl_InvocationID
76         %22 = OpAccessChain %_ptr_Output_v4float %c %17 %int_0
77               OpStore %22 %20
78         %28 = OpAccessChain %_ptr_Output_v4float %p %int_0
79               OpStore %28 %27
80         %38 = OpAccessChain %_ptr_Output_v4float %gl_out %17 %int_0
81               OpStore %38 %37
82         %43 = OpAccessChain %_ptr_Output_float %gl_out %17 %int_1
83               OpStore %43 %float_4
84               OpReturn
85               OpFunctionEnd
86