• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5OpExecutionMode %_entrypoint_v OriginUpperLeft
6OpName %sk_FragColor "sk_FragColor"
7OpName %sk_Clockwise "sk_Clockwise"
8OpName %_UniformBuffer "_UniformBuffer"
9OpMemberName %_UniformBuffer 0 "testArray"
10OpMemberName %_UniformBuffer 1 "colorGreen"
11OpMemberName %_UniformBuffer 2 "colorRed"
12OpName %_entrypoint_v "_entrypoint_v"
13OpName %main "main"
14OpName %index "index"
15OpDecorate %sk_FragColor RelaxedPrecision
16OpDecorate %sk_FragColor Location 0
17OpDecorate %sk_FragColor Index 0
18OpDecorate %sk_Clockwise BuiltIn FrontFacing
19OpDecorate %_arr_float_int_5 ArrayStride 16
20OpMemberDecorate %_UniformBuffer 0 Offset 0
21OpMemberDecorate %_UniformBuffer 1 Offset 80
22OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
23OpMemberDecorate %_UniformBuffer 2 Offset 96
24OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
25OpDecorate %_UniformBuffer Block
26OpDecorate %10 Binding 0
27OpDecorate %10 DescriptorSet 0
28OpDecorate %55 RelaxedPrecision
29OpDecorate %59 RelaxedPrecision
30%float = OpTypeFloat 32
31%v4float = OpTypeVector %float 4
32%_ptr_Output_v4float = OpTypePointer Output %v4float
33%sk_FragColor = OpVariable %_ptr_Output_v4float Output
34%bool = OpTypeBool
35%_ptr_Input_bool = OpTypePointer Input %bool
36%sk_Clockwise = OpVariable %_ptr_Input_bool Input
37%int = OpTypeInt 32 1
38%int_5 = OpConstant %int 5
39%_arr_float_int_5 = OpTypeArray %float %int_5
40%_UniformBuffer = OpTypeStruct %_arr_float_int_5 %v4float %v4float
41%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
42%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
43%void = OpTypeVoid
44%18 = OpTypeFunction %void
45%v2float = OpTypeVector %float 2
46%float_0 = OpConstant %float 0
47%22 = OpConstantComposite %v2float %float_0 %float_0
48%_ptr_Function_v2float = OpTypePointer Function %v2float
49%26 = OpTypeFunction %v4float %_ptr_Function_v2float
50%_ptr_Function_int = OpTypePointer Function %int
51%int_0 = OpConstant %int 0
52%_ptr_Uniform__arr_float_int_5 = OpTypePointer Uniform %_arr_float_int_5
53%_ptr_Uniform_float = OpTypePointer Uniform %float
54%int_1 = OpConstant %int 1
55%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
56%int_2 = OpConstant %int 2
57%_entrypoint_v = OpFunction %void None %18
58%19 = OpLabel
59%23 = OpVariable %_ptr_Function_v2float Function
60OpStore %23 %22
61%25 = OpFunctionCall %v4float %main %23
62OpStore %sk_FragColor %25
63OpReturn
64OpFunctionEnd
65%main = OpFunction %v4float None %26
66%27 = OpFunctionParameter %_ptr_Function_v2float
67%28 = OpLabel
68%index = OpVariable %_ptr_Function_int Function
69OpStore %index %int_0
70OpBranch %32
71%32 = OpLabel
72OpLoopMerge %36 %35 None
73OpBranch %33
74%33 = OpLabel
75%37 = OpLoad %int %index
76%38 = OpSLessThan %bool %37 %int_5
77OpBranchConditional %38 %34 %36
78%34 = OpLabel
79%39 = OpAccessChain %_ptr_Uniform__arr_float_int_5 %10 %int_0
80%41 = OpLoad %int %index
81%42 = OpAccessChain %_ptr_Uniform_float %39 %41
82%44 = OpLoad %float %42
83%45 = OpLoad %int %index
84%47 = OpIAdd %int %45 %int_1
85%48 = OpConvertSToF %float %47
86%49 = OpFOrdNotEqual %bool %44 %48
87OpSelectionMerge %51 None
88OpBranchConditional %49 %50 %51
89%50 = OpLabel
90%52 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
91%55 = OpLoad %v4float %52
92OpReturnValue %55
93%51 = OpLabel
94OpBranch %35
95%35 = OpLabel
96%56 = OpLoad %int %index
97%57 = OpIAdd %int %56 %int_1
98OpStore %index %57
99OpBranch %32
100%36 = OpLabel
101%58 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
102%59 = OpLoad %v4float %58
103OpReturnValue %59
104OpFunctionEnd
105