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