1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise
5OpExecutionMode %main OriginUpperLeft
6OpName %testBlock "testBlock"
7OpMemberName %testBlock 0 "x"
8OpMemberName %testBlock 1 "w"
9OpMemberName %testBlock 2 "y"
10OpMemberName %testBlock 3 "z"
11OpName %sk_FragColor "sk_FragColor"
12OpName %sk_Clockwise "sk_Clockwise"
13OpName %main "main"
14OpDecorate %_arr_float_int_2 ArrayStride 16
15OpMemberDecorate %testBlock 0 Offset 0
16OpMemberDecorate %testBlock 0 RelaxedPrecision
17OpMemberDecorate %testBlock 1 Offset 4
18OpMemberDecorate %testBlock 2 Offset 16
19OpMemberDecorate %testBlock 2 RelaxedPrecision
20OpMemberDecorate %testBlock 3 Offset 48
21OpMemberDecorate %testBlock 3 ColMajor
22OpMemberDecorate %testBlock 3 MatrixStride 16
23OpMemberDecorate %testBlock 3 RelaxedPrecision
24OpDecorate %testBlock Block
25OpDecorate %3 Binding 0
26OpDecorate %3 DescriptorSet 0
27OpDecorate %sk_FragColor RelaxedPrecision
28OpDecorate %sk_FragColor Location 0
29OpDecorate %sk_FragColor Index 0
30OpDecorate %sk_Clockwise BuiltIn FrontFacing
31OpDecorate %24 RelaxedPrecision
32OpDecorate %26 RelaxedPrecision
33OpDecorate %29 RelaxedPrecision
34OpDecorate %31 RelaxedPrecision
35%float = OpTypeFloat 32
36%int = OpTypeInt 32 1
37%int_2 = OpConstant %int 2
38%_arr_float_int_2 = OpTypeArray %float %int_2
39%v3float = OpTypeVector %float 3
40%mat3v3float = OpTypeMatrix %v3float 3
41%testBlock = OpTypeStruct %float %int %_arr_float_int_2 %mat3v3float
42%_ptr_Uniform_testBlock = OpTypePointer Uniform %testBlock
43%3 = OpVariable %_ptr_Uniform_testBlock Uniform
44%v4float = OpTypeVector %float 4
45%_ptr_Output_v4float = OpTypePointer Output %v4float
46%sk_FragColor = OpVariable %_ptr_Output_v4float Output
47%bool = OpTypeBool
48%_ptr_Input_bool = OpTypePointer Input %bool
49%sk_Clockwise = OpVariable %_ptr_Input_bool Input
50%void = OpTypeVoid
51%19 = OpTypeFunction %void
52%int_0 = OpConstant %int 0
53%_ptr_Uniform_float = OpTypePointer Uniform %float
54%int_1 = OpConstant %int 1
55%float_0 = OpConstant %float 0
56%main = OpFunction %void None %19
57%20 = OpLabel
58%22 = OpAccessChain %_ptr_Uniform_float %3 %int_0
59%24 = OpLoad %float %22
60%25 = OpAccessChain %_ptr_Uniform_float %3 %int_2 %int_0
61%26 = OpLoad %float %25
62%28 = OpAccessChain %_ptr_Uniform_float %3 %int_2 %int_1
63%29 = OpLoad %float %28
64%31 = OpCompositeConstruct %v4float %24 %26 %29 %float_0
65OpStore %sk_FragColor %31
66OpReturn
67OpFunctionEnd
68