2 %1 = OpExtInstImport "GLSL.std.450"
3 OpMemoryModel Logical GLSL450
4 OpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise
5 OpExecutionMode %main OriginUpperLeft
6 OpName %sk_FragColor "sk_FragColor"
7 OpName %sk_Clockwise "sk_Clockwise"
10 OpMemberName %Test 0 "x"
11 OpMemberName %Test 1 "y"
12 OpMemberName %Test 2 "z"
14 OpDecorate %sk_FragColor RelaxedPrecision
15 OpDecorate %sk_FragColor Location 0
16 OpDecorate %sk_FragColor Index 0
17 OpDecorate %sk_Clockwise BuiltIn FrontFacing
18 OpMemberDecorate %Test 0 Offset 0
19 OpMemberDecorate %Test 1 Offset 4
20 OpMemberDecorate %Test 2 Offset 8
21 OpDecorate %22 RelaxedPrecision
22 %float = OpTypeFloat 32
23 %v4float = OpTypeVector %float 4
24 %_ptr_Output_v4float = OpTypePointer Output %v4float
25 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
27 %_ptr_Input_bool = OpTypePointer Input %bool
28 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
30 %11 = OpTypeFunction %void
32 %Test = OpTypeStruct %int %int %int
33 %_ptr_Function_Test = OpTypePointer Function %Test
34 %int_0 = OpConstant %int 0
35 %_ptr_Function_int = OpTypePointer Function %int
36 %_ptr_Output_float = OpTypePointer Output %float
37 %main = OpFunction %void None %11
39 %t = OpVariable %_ptr_Function_Test Function
40 %18 = OpAccessChain %_ptr_Function_int %t %int_0
42 %20 = OpAccessChain %_ptr_Function_int %t %int_0
44 %22 = OpConvertSToF %float %21
45 %23 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0