• 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 "colorGreen"
10OpMemberName %_UniformBuffer 1 "colorRed"
11OpMemberName %_UniformBuffer 2 "testInputs"
12OpName %_entrypoint_v "_entrypoint_v"
13OpName %main "main"
14OpName %xy "xy"
15OpName %zw "zw"
16OpName %tolerance "tolerance"
17OpDecorate %sk_FragColor RelaxedPrecision
18OpDecorate %sk_FragColor Location 0
19OpDecorate %sk_FragColor Index 0
20OpDecorate %sk_Clockwise BuiltIn FrontFacing
21OpMemberDecorate %_UniformBuffer 0 Offset 0
22OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
23OpMemberDecorate %_UniformBuffer 1 Offset 16
24OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
25OpMemberDecorate %_UniformBuffer 2 Offset 32
26OpDecorate %_UniformBuffer Block
27OpDecorate %10 Binding 0
28OpDecorate %10 DescriptorSet 0
29OpDecorate %72 RelaxedPrecision
30OpDecorate %75 RelaxedPrecision
31OpDecorate %76 RelaxedPrecision
32%float = OpTypeFloat 32
33%v4float = OpTypeVector %float 4
34%_ptr_Output_v4float = OpTypePointer Output %v4float
35%sk_FragColor = OpVariable %_ptr_Output_v4float Output
36%bool = OpTypeBool
37%_ptr_Input_bool = OpTypePointer Input %bool
38%sk_Clockwise = OpVariable %_ptr_Input_bool Input
39%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
40%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
41%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
42%void = OpTypeVoid
43%15 = OpTypeFunction %void
44%v2float = OpTypeVector %float 2
45%float_0 = OpConstant %float 0
46%19 = OpConstantComposite %v2float %float_0 %float_0
47%_ptr_Function_v2float = OpTypePointer Function %v2float
48%23 = OpTypeFunction %v4float %_ptr_Function_v2float
49%uint = OpTypeInt 32 0
50%_ptr_Function_uint = OpTypePointer Function %uint
51%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
52%int = OpTypeInt 32 1
53%int_2 = OpConstant %int 2
54%float_0_015625 = OpConstant %float 0.015625
55%43 = OpConstantComposite %v2float %float_0_015625 %float_0_015625
56%false = OpConstantFalse %bool
57%v2bool = OpTypeVector %bool 2
58%float_0_75 = OpConstant %float 0.75
59%float_1 = OpConstant %float 1
60%61 = OpConstantComposite %v2float %float_0_75 %float_1
61%_ptr_Function_v4float = OpTypePointer Function %v4float
62%int_0 = OpConstant %int 0
63%int_1 = OpConstant %int 1
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%xy = OpVariable %_ptr_Function_uint Function
76%zw = OpVariable %_ptr_Function_uint Function
77%tolerance = OpVariable %_ptr_Function_v2float Function
78%65 = OpVariable %_ptr_Function_v4float Function
79%30 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
80%34 = OpLoad %v4float %30
81%35 = OpVectorShuffle %v2float %34 %34 0 1
82%29 = OpExtInst %uint %1 PackUnorm2x16 %35
83OpStore %xy %29
84%38 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
85%39 = OpLoad %v4float %38
86%40 = OpVectorShuffle %v2float %39 %39 2 3
87%37 = OpExtInst %uint %1 PackUnorm2x16 %40
88OpStore %zw %37
89OpStore %tolerance %43
90%49 = OpLoad %uint %xy
91%48 = OpExtInst %v2float %1 UnpackUnorm2x16 %49
92%47 = OpExtInst %v2float %1 FAbs %48
93%50 = OpLoad %v2float %tolerance
94%46 = OpFOrdLessThan %v2bool %47 %50
95%45 = OpAll %bool %46
96OpSelectionMerge %53 None
97OpBranchConditional %45 %52 %53
98%52 = OpLabel
99%58 = OpLoad %uint %zw
100%57 = OpExtInst %v2float %1 UnpackUnorm2x16 %58
101%62 = OpFSub %v2float %57 %61
102%56 = OpExtInst %v2float %1 FAbs %62
103%63 = OpLoad %v2float %tolerance
104%55 = OpFOrdLessThan %v2bool %56 %63
105%54 = OpAll %bool %55
106OpBranch %53
107%53 = OpLabel
108%64 = OpPhi %bool %false %25 %54 %52
109OpSelectionMerge %69 None
110OpBranchConditional %64 %67 %68
111%67 = OpLabel
112%70 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
113%72 = OpLoad %v4float %70
114OpStore %65 %72
115OpBranch %69
116%68 = OpLabel
117%73 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
118%75 = OpLoad %v4float %73
119OpStore %65 %75
120OpBranch %69
121%69 = OpLabel
122%76 = OpLoad %v4float %65
123OpReturnValue %76
124OpFunctionEnd
125