• 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"
18OpDecorate %sk_FragColor RelaxedPrecision
19OpDecorate %sk_FragColor Location 0
20OpDecorate %sk_FragColor Index 0
21OpDecorate %sk_Clockwise BuiltIn FrontFacing
22OpMemberDecorate %_UniformBuffer 0 Offset 0
23OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
24OpMemberDecorate %_UniformBuffer 1 Offset 16
25OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
26OpMemberDecorate %_UniformBuffer 2 Offset 32
27OpMemberDecorate %_UniformBuffer 3 Offset 40
28OpMemberDecorate %_UniformBuffer 4 Offset 48
29OpMemberDecorate %_UniformBuffer 5 Offset 64
30OpDecorate %_UniformBuffer Block
31OpDecorate %10 Binding 0
32OpDecorate %10 DescriptorSet 0
33OpDecorate %32 RelaxedPrecision
34OpDecorate %35 RelaxedPrecision
35OpDecorate %38 RelaxedPrecision
36OpDecorate %52 RelaxedPrecision
37OpDecorate %65 RelaxedPrecision
38OpDecorate %68 RelaxedPrecision
39OpDecorate %72 RelaxedPrecision
40OpDecorate %75 RelaxedPrecision
41%float = OpTypeFloat 32
42%v4float = OpTypeVector %float 4
43%_ptr_Output_v4float = OpTypePointer Output %v4float
44%sk_FragColor = OpVariable %_ptr_Output_v4float Output
45%bool = OpTypeBool
46%_ptr_Input_bool = OpTypePointer Input %bool
47%sk_Clockwise = OpVariable %_ptr_Input_bool Input
48%uint = OpTypeInt 32 0
49%v2uint = OpTypeVector %uint 2
50%int = OpTypeInt 32 1
51%v3int = OpTypeVector %int 3
52%_UniformBuffer = OpTypeStruct %v4float %v4float %v2uint %v2uint %v3int %v3int
53%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
54%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
55%void = OpTypeVoid
56%18 = OpTypeFunction %void
57%v4bool = OpTypeVector %bool 4
58%_ptr_Function_v4bool = OpTypePointer Function %v4bool
59%true = OpConstantTrue %bool
60%false = OpConstantFalse %bool
61%25 = OpConstantComposite %v4bool %true %true %false %false
62%27 = OpConstantComposite %v4bool %false %false %true %true
63%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
64%int_0 = OpConstant %int 0
65%int_1 = OpConstant %int 1
66%_ptr_Output_float = OpTypePointer Output %float
67%_ptr_Uniform_v2uint = OpTypePointer Uniform %v2uint
68%int_2 = OpConstant %int 2
69%int_3 = OpConstant %int 3
70%v2bool = OpTypeVector %bool 2
71%_ptr_Uniform_v3int = OpTypePointer Uniform %v3int
72%int_4 = OpConstant %int 4
73%int_5 = OpConstant %int 5
74%v3bool = OpTypeVector %bool 3
75%main = OpFunction %void None %18
76%19 = OpLabel
77%expectTTFF = OpVariable %_ptr_Function_v4bool Function
78%expectFFTT = OpVariable %_ptr_Function_v4bool Function
79OpStore %expectTTFF %25
80OpStore %expectFFTT %27
81%29 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
82%32 = OpLoad %v4float %29
83%33 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
84%35 = OpLoad %v4float %33
85%28 = OpFOrdEqual %v4bool %32 %35
86%36 = OpCompositeExtract %bool %28 0
87%37 = OpSelect %int %36 %int_1 %int_0
88%38 = OpConvertSToF %float %37
89%39 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
90OpStore %39 %38
91%42 = OpAccessChain %_ptr_Uniform_v2uint %10 %int_2
92%45 = OpLoad %v2uint %42
93%46 = OpAccessChain %_ptr_Uniform_v2uint %10 %int_3
94%48 = OpLoad %v2uint %46
95%41 = OpIEqual %v2bool %45 %48
96%50 = OpCompositeExtract %bool %41 1
97%51 = OpSelect %int %50 %int_1 %int_0
98%52 = OpConvertSToF %float %51
99%53 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_1
100OpStore %53 %52
101%55 = OpAccessChain %_ptr_Uniform_v3int %10 %int_4
102%58 = OpLoad %v3int %55
103%59 = OpAccessChain %_ptr_Uniform_v3int %10 %int_5
104%61 = OpLoad %v3int %59
105%54 = OpIEqual %v3bool %58 %61
106%63 = OpCompositeExtract %bool %54 2
107%64 = OpSelect %int %63 %int_1 %int_0
108%65 = OpConvertSToF %float %64
109%66 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_2
110OpStore %66 %65
111%68 = OpLoad %v4bool %expectTTFF
112%67 = OpAny %bool %68
113OpSelectionMerge %70 None
114OpBranchConditional %67 %70 %69
115%69 = OpLabel
116%72 = OpLoad %v4bool %expectFFTT
117%71 = OpAny %bool %72
118OpBranch %70
119%70 = OpLabel
120%73 = OpPhi %bool %true %19 %71 %69
121%74 = OpSelect %int %73 %int_1 %int_0
122%75 = OpConvertSToF %float %74
123%76 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_3
124OpStore %76 %75
125OpReturn
126OpFunctionEnd
127