• 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 "colorGreen"
10OpMemberName %_UniformBuffer 1 "colorRed"
11OpName %_entrypoint_v "_entrypoint_v"
12OpName %main "main"
13OpName %a "a"
14OpName %b "b"
15OpName %c "c"
16OpName %d "d"
17OpDecorate %sk_FragColor RelaxedPrecision
18OpDecorate %sk_FragColor Location 0
19OpDecorate %sk_FragColor Index 0
20OpDecorate %sk_Clockwise BuiltIn FrontFacing
21OpMemberDecorate %_UniformBuffer 0 Offset 0
22OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
23OpMemberDecorate %_UniformBuffer 1 Offset 16
24OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
25OpDecorate %_UniformBuffer Block
26OpDecorate %10 Binding 0
27OpDecorate %10 DescriptorSet 0
28OpDecorate %61 RelaxedPrecision
29OpDecorate %63 RelaxedPrecision
30OpDecorate %64 RelaxedPrecision
31%float = OpTypeFloat 32
32%v4float = OpTypeVector %float 4
33%_ptr_Output_v4float = OpTypePointer Output %v4float
34%sk_FragColor = OpVariable %_ptr_Output_v4float Output
35%bool = OpTypeBool
36%_ptr_Input_bool = OpTypePointer Input %bool
37%sk_Clockwise = OpVariable %_ptr_Input_bool Input
38%_UniformBuffer = OpTypeStruct %v4float %v4float
39%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
40%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
41%void = OpTypeVoid
42%15 = OpTypeFunction %void
43%v2float = OpTypeVector %float 2
44%float_0 = OpConstant %float 0
45%19 = OpConstantComposite %v2float %float_0 %float_0
46%_ptr_Function_v2float = OpTypePointer Function %v2float
47%23 = OpTypeFunction %v4float %_ptr_Function_v2float
48%int = OpTypeInt 32 1
49%_ptr_Function_int = OpTypePointer Function %int
50%int_0 = OpConstant %int 0
51%int_1 = OpConstant %int 1
52%int_2 = OpConstant %int 2
53%int_5 = OpConstant %int 5
54%false = OpConstantFalse %bool
55%_ptr_Function_v4float = OpTypePointer Function %v4float
56%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
57%_entrypoint_v = OpFunction %void None %15
58%16 = OpLabel
59%20 = OpVariable %_ptr_Function_v2float Function
60OpStore %20 %19
61%22 = OpFunctionCall %v4float %main %20
62OpStore %sk_FragColor %22
63OpReturn
64OpFunctionEnd
65%main = OpFunction %v4float None %23
66%24 = OpFunctionParameter %_ptr_Function_v2float
67%25 = OpLabel
68%a = OpVariable %_ptr_Function_int Function
69%b = OpVariable %_ptr_Function_int Function
70%c = OpVariable %_ptr_Function_int Function
71%d = OpVariable %_ptr_Function_int Function
72%54 = OpVariable %_ptr_Function_v4float Function
73OpStore %a %int_0
74OpStore %b %int_0
75OpStore %c %int_0
76OpStore %d %int_0
77OpStore %a %int_1
78OpStore %b %int_2
79OpStore %c %int_5
80%37 = OpLoad %int %a
81%38 = OpIEqual %bool %37 %int_1
82OpSelectionMerge %40 None
83OpBranchConditional %38 %39 %40
84%39 = OpLabel
85%41 = OpLoad %int %b
86%42 = OpIEqual %bool %41 %int_2
87OpBranch %40
88%40 = OpLabel
89%43 = OpPhi %bool %false %25 %42 %39
90OpSelectionMerge %45 None
91OpBranchConditional %43 %44 %45
92%44 = OpLabel
93%46 = OpLoad %int %c
94%47 = OpIEqual %bool %46 %int_5
95OpBranch %45
96%45 = OpLabel
97%48 = OpPhi %bool %false %40 %47 %44
98OpSelectionMerge %50 None
99OpBranchConditional %48 %49 %50
100%49 = OpLabel
101%51 = OpLoad %int %d
102%52 = OpIEqual %bool %51 %int_0
103OpBranch %50
104%50 = OpLabel
105%53 = OpPhi %bool %false %45 %52 %49
106OpSelectionMerge %58 None
107OpBranchConditional %53 %56 %57
108%56 = OpLabel
109%59 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
110%61 = OpLoad %v4float %59
111OpStore %54 %61
112OpBranch %58
113%57 = OpLabel
114%62 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
115%63 = OpLoad %v4float %62
116OpStore %54 %63
117OpBranch %58
118%58 = OpLabel
119%64 = OpLoad %v4float %54
120OpReturnValue %64
121OpFunctionEnd
122