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