• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_Clockwise %sk_FragColor
5OpExecutionMode %_entrypoint_v OriginUpperLeft
6OpName %sk_Clockwise "sk_Clockwise"
7OpName %sk_FragColor "sk_FragColor"
8OpName %_entrypoint_v "_entrypoint_v"
9OpName %main "main"
10OpName %x "x"
11OpDecorate %sk_Clockwise BuiltIn FrontFacing
12OpDecorate %sk_FragColor RelaxedPrecision
13OpDecorate %sk_FragColor Location 0
14OpDecorate %sk_FragColor Index 0
15OpDecorate %x RelaxedPrecision
16OpDecorate %36 RelaxedPrecision
17OpDecorate %38 RelaxedPrecision
18OpDecorate %39 RelaxedPrecision
19OpDecorate %40 RelaxedPrecision
20OpDecorate %44 RelaxedPrecision
21OpDecorate %45 RelaxedPrecision
22OpDecorate %54 RelaxedPrecision
23OpDecorate %55 RelaxedPrecision
24OpDecorate %56 RelaxedPrecision
25OpDecorate %57 RelaxedPrecision
26OpDecorate %63 RelaxedPrecision
27OpDecorate %64 RelaxedPrecision
28OpDecorate %66 RelaxedPrecision
29%bool = OpTypeBool
30%_ptr_Input_bool = OpTypePointer Input %bool
31%sk_Clockwise = OpVariable %_ptr_Input_bool Input
32%float = OpTypeFloat 32
33%v4float = OpTypeVector %float 4
34%_ptr_Output_v4float = OpTypePointer Output %v4float
35%sk_FragColor = OpVariable %_ptr_Output_v4float Output
36%void = OpTypeVoid
37%12 = OpTypeFunction %void
38%float_0 = OpConstant %float 0
39%v2float = OpTypeVector %float 2
40%16 = OpConstantComposite %v2float %float_0 %float_0
41%_ptr_Function_v2float = OpTypePointer Function %v2float
42%20 = OpTypeFunction %v4float %_ptr_Function_v2float
43%_ptr_Function_v4float = OpTypePointer Function %v4float
44%float_1 = OpConstant %float 1
45%26 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
46%_ptr_Function_float = OpTypePointer Function %float
47%int = OpTypeInt 32 1
48%int_0 = OpConstant %int 0
49%float_0_25 = OpConstant %float 0.25
50%int_2 = OpConstant %int 2
51%int_1 = OpConstant %int 1
52%_entrypoint_v = OpFunction %void None %12
53%13 = OpLabel
54%17 = OpVariable %_ptr_Function_v2float Function
55OpStore %17 %16
56%19 = OpFunctionCall %v4float %main %17
57OpStore %sk_FragColor %19
58OpReturn
59OpFunctionEnd
60%main = OpFunction %v4float None %20
61%21 = OpFunctionParameter %_ptr_Function_v2float
62%22 = OpLabel
63%x = OpVariable %_ptr_Function_v4float Function
64OpStore %x %26
65OpBranch %27
66%27 = OpLabel
67OpLoopMerge %31 %30 None
68OpBranch %28
69%28 = OpLabel
70%32 = OpAccessChain %_ptr_Function_float %x %int_0
71%36 = OpLoad %float %32
72%38 = OpFSub %float %36 %float_0_25
73OpStore %32 %38
74%39 = OpLoad %v4float %x
75%40 = OpCompositeExtract %float %39 0
76%41 = OpFOrdLessThanEqual %bool %40 %float_0
77OpSelectionMerge %43 None
78OpBranchConditional %41 %42 %43
79%42 = OpLabel
80OpBranch %31
81%43 = OpLabel
82OpBranch %29
83%29 = OpLabel
84OpBranch %30
85%30 = OpLabel
86%44 = OpLoad %v4float %x
87%45 = OpCompositeExtract %float %44 3
88%46 = OpFOrdEqual %bool %45 %float_1
89OpBranchConditional %46 %27 %31
90%31 = OpLabel
91OpBranch %47
92%47 = OpLabel
93OpLoopMerge %51 %50 None
94OpBranch %48
95%48 = OpLabel
96%52 = OpAccessChain %_ptr_Function_float %x %int_2
97%54 = OpLoad %float %52
98%55 = OpFSub %float %54 %float_0_25
99OpStore %52 %55
100%56 = OpLoad %v4float %x
101%57 = OpCompositeExtract %float %56 3
102%58 = OpFOrdEqual %bool %57 %float_1
103OpSelectionMerge %60 None
104OpBranchConditional %58 %59 %60
105%59 = OpLabel
106OpBranch %50
107%60 = OpLabel
108%61 = OpAccessChain %_ptr_Function_float %x %int_1
109OpStore %61 %float_0
110OpBranch %49
111%49 = OpLabel
112OpBranch %50
113%50 = OpLabel
114%63 = OpLoad %v4float %x
115%64 = OpCompositeExtract %float %63 2
116%65 = OpFOrdGreaterThan %bool %64 %float_0
117OpBranchConditional %65 %47 %51
118%51 = OpLabel
119%66 = OpLoad %v4float %x
120OpReturnValue %66
121OpFunctionEnd
122