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