• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise
5OpExecutionMode %main OriginUpperLeft
6OpName %sk_FragColor "sk_FragColor"
7OpName %sk_Clockwise "sk_Clockwise"
8OpName %_UniformBuffer "_UniformBuffer"
9OpMemberName %_UniformBuffer 0 "a"
10OpMemberName %_UniformBuffer 1 "b"
11OpMemberName %_UniformBuffer 2 "c"
12OpMemberName %_UniformBuffer 3 "d"
13OpMemberName %_UniformBuffer 4 "e"
14OpMemberName %_UniformBuffer 5 "f"
15OpName %main "main"
16OpName %expectTTFF "expectTTFF"
17OpName %expectFFTT "expectFFTT"
18OpName %expectTTTT "expectTTTT"
19OpDecorate %sk_FragColor RelaxedPrecision
20OpDecorate %sk_FragColor Location 0
21OpDecorate %sk_FragColor Index 0
22OpDecorate %sk_Clockwise BuiltIn FrontFacing
23OpMemberDecorate %_UniformBuffer 0 Offset 0
24OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
25OpMemberDecorate %_UniformBuffer 1 Offset 16
26OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
27OpMemberDecorate %_UniformBuffer 2 Offset 32
28OpMemberDecorate %_UniformBuffer 3 Offset 40
29OpMemberDecorate %_UniformBuffer 4 Offset 48
30OpMemberDecorate %_UniformBuffer 5 Offset 64
31OpDecorate %_UniformBuffer Block
32OpDecorate %10 Binding 0
33OpDecorate %10 DescriptorSet 0
34OpDecorate %34 RelaxedPrecision
35OpDecorate %37 RelaxedPrecision
36OpDecorate %40 RelaxedPrecision
37OpDecorate %54 RelaxedPrecision
38OpDecorate %67 RelaxedPrecision
39OpDecorate %70 RelaxedPrecision
40OpDecorate %74 RelaxedPrecision
41OpDecorate %79 RelaxedPrecision
42OpDecorate %82 RelaxedPrecision
43%float = OpTypeFloat 32
44%v4float = OpTypeVector %float 4
45%_ptr_Output_v4float = OpTypePointer Output %v4float
46%sk_FragColor = OpVariable %_ptr_Output_v4float Output
47%bool = OpTypeBool
48%_ptr_Input_bool = OpTypePointer Input %bool
49%sk_Clockwise = OpVariable %_ptr_Input_bool Input
50%uint = OpTypeInt 32 0
51%v2uint = OpTypeVector %uint 2
52%int = OpTypeInt 32 1
53%v3int = OpTypeVector %int 3
54%_UniformBuffer = OpTypeStruct %v4float %v4float %v2uint %v2uint %v3int %v3int
55%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
56%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
57%void = OpTypeVoid
58%18 = OpTypeFunction %void
59%v4bool = OpTypeVector %bool 4
60%_ptr_Function_v4bool = OpTypePointer Function %v4bool
61%true = OpConstantTrue %bool
62%false = OpConstantFalse %bool
63%25 = OpConstantComposite %v4bool %true %true %false %false
64%27 = OpConstantComposite %v4bool %false %false %true %true
65%29 = OpConstantComposite %v4bool %true %true %true %true
66%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
67%int_0 = OpConstant %int 0
68%int_1 = OpConstant %int 1
69%_ptr_Output_float = OpTypePointer Output %float
70%_ptr_Uniform_v2uint = OpTypePointer Uniform %v2uint
71%int_2 = OpConstant %int 2
72%int_3 = OpConstant %int 3
73%v2bool = OpTypeVector %bool 2
74%_ptr_Uniform_v3int = OpTypePointer Uniform %v3int
75%int_4 = OpConstant %int 4
76%int_5 = OpConstant %int 5
77%v3bool = OpTypeVector %bool 3
78%main = OpFunction %void None %18
79%19 = OpLabel
80%expectTTFF = OpVariable %_ptr_Function_v4bool Function
81%expectFFTT = OpVariable %_ptr_Function_v4bool Function
82%expectTTTT = OpVariable %_ptr_Function_v4bool Function
83OpStore %expectTTFF %25
84OpStore %expectFFTT %27
85OpStore %expectTTTT %29
86%31 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
87%34 = OpLoad %v4float %31
88%35 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
89%37 = OpLoad %v4float %35
90%30 = OpFOrdEqual %v4bool %34 %37
91%38 = OpCompositeExtract %bool %30 0
92%39 = OpSelect %int %38 %int_1 %int_0
93%40 = OpConvertSToF %float %39
94%41 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
95OpStore %41 %40
96%44 = OpAccessChain %_ptr_Uniform_v2uint %10 %int_2
97%47 = OpLoad %v2uint %44
98%48 = OpAccessChain %_ptr_Uniform_v2uint %10 %int_3
99%50 = OpLoad %v2uint %48
100%43 = OpIEqual %v2bool %47 %50
101%52 = OpCompositeExtract %bool %43 1
102%53 = OpSelect %int %52 %int_1 %int_0
103%54 = OpConvertSToF %float %53
104%55 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_1
105OpStore %55 %54
106%57 = OpAccessChain %_ptr_Uniform_v3int %10 %int_4
107%60 = OpLoad %v3int %57
108%61 = OpAccessChain %_ptr_Uniform_v3int %10 %int_5
109%63 = OpLoad %v3int %61
110%56 = OpIEqual %v3bool %60 %63
111%65 = OpCompositeExtract %bool %56 2
112%66 = OpSelect %int %65 %int_1 %int_0
113%67 = OpConvertSToF %float %66
114%68 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_2
115OpStore %68 %67
116%70 = OpLoad %v4bool %expectTTFF
117%69 = OpAny %bool %70
118OpSelectionMerge %72 None
119OpBranchConditional %69 %72 %71
120%71 = OpLabel
121%74 = OpLoad %v4bool %expectFFTT
122%73 = OpAny %bool %74
123OpBranch %72
124%72 = OpLabel
125%75 = OpPhi %bool %true %19 %73 %71
126OpSelectionMerge %77 None
127OpBranchConditional %75 %77 %76
128%76 = OpLabel
129%79 = OpLoad %v4bool %expectTTTT
130%78 = OpAny %bool %79
131OpBranch %77
132%77 = OpLabel
133%80 = OpPhi %bool %true %72 %78 %76
134%81 = OpSelect %int %80 %int_1 %int_0
135%82 = OpConvertSToF %float %81
136%83 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_3
137OpStore %83 %82
138OpReturn
139OpFunctionEnd
140