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