• 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 "colorWhite"
10OpMemberName %_UniformBuffer 1 "colorGreen"
11OpMemberName %_UniformBuffer 2 "colorRed"
12OpName %_entrypoint_v "_entrypoint_v"
13OpName %main "main"
14OpName %x "x"
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 %x RelaxedPrecision
29OpDecorate %31 RelaxedPrecision
30OpDecorate %32 RelaxedPrecision
31OpDecorate %33 RelaxedPrecision
32OpDecorate %34 RelaxedPrecision
33OpDecorate %35 RelaxedPrecision
34OpDecorate %37 RelaxedPrecision
35OpDecorate %48 RelaxedPrecision
36OpDecorate %51 RelaxedPrecision
37OpDecorate %52 RelaxedPrecision
38%float = OpTypeFloat 32
39%v4float = OpTypeVector %float 4
40%_ptr_Output_v4float = OpTypePointer Output %v4float
41%sk_FragColor = OpVariable %_ptr_Output_v4float Output
42%bool = OpTypeBool
43%_ptr_Input_bool = OpTypePointer Input %bool
44%sk_Clockwise = OpVariable %_ptr_Input_bool Input
45%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
46%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
47%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
48%void = OpTypeVoid
49%15 = OpTypeFunction %void
50%v2float = OpTypeVector %float 2
51%float_0 = OpConstant %float 0
52%19 = OpConstantComposite %v2float %float_0 %float_0
53%_ptr_Function_v2float = OpTypePointer Function %v2float
54%23 = OpTypeFunction %v4float %_ptr_Function_v2float
55%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
56%int = OpTypeInt 32 1
57%int_0 = OpConstant %int 0
58%float_n1 = OpConstant %float -1
59%37 = OpConstantComposite %v2float %float_n1 %float_n1
60%v2bool = OpTypeVector %bool 2
61%_ptr_Function_v4float = OpTypePointer Function %v4float
62%int_1 = OpConstant %int 1
63%int_2 = OpConstant %int 2
64%_entrypoint_v = OpFunction %void None %15
65%16 = OpLabel
66%20 = OpVariable %_ptr_Function_v2float Function
67OpStore %20 %19
68%22 = OpFunctionCall %v4float %main %20
69OpStore %sk_FragColor %22
70OpReturn
71OpFunctionEnd
72%main = OpFunction %v4float None %23
73%24 = OpFunctionParameter %_ptr_Function_v2float
74%25 = OpLabel
75%x = OpVariable %_ptr_Function_v2float Function
76%41 = OpVariable %_ptr_Function_v4float Function
77%27 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
78%31 = OpLoad %v4float %27
79%32 = OpVectorShuffle %v2float %31 %31 0 1
80OpStore %x %32
81%34 = OpLoad %v2float %x
82%33 = OpFNegate %v2float %34
83OpStore %x %33
84%35 = OpLoad %v2float %x
85%38 = OpFOrdEqual %v2bool %35 %37
86%40 = OpAll %bool %38
87OpSelectionMerge %45 None
88OpBranchConditional %40 %43 %44
89%43 = OpLabel
90%46 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
91%48 = OpLoad %v4float %46
92OpStore %41 %48
93OpBranch %45
94%44 = OpLabel
95%49 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
96%51 = OpLoad %v4float %49
97OpStore %41 %51
98OpBranch %45
99%45 = OpLabel
100%52 = OpLoad %v4float %41
101OpReturnValue %52
102OpFunctionEnd
103