• 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 "ah"
10OpMemberName %_UniformBuffer 1 "bh"
11OpMemberName %_UniformBuffer 2 "af"
12OpMemberName %_UniformBuffer 3 "bf"
13OpName %main "main"
14OpDecorate %sk_FragColor RelaxedPrecision
15OpDecorate %sk_FragColor Location 0
16OpDecorate %sk_FragColor Index 0
17OpDecorate %sk_Clockwise BuiltIn FrontFacing
18OpMemberDecorate %_UniformBuffer 0 Offset 0
19OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
20OpMemberDecorate %_UniformBuffer 1 Offset 8
21OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
22OpMemberDecorate %_UniformBuffer 2 Offset 16
23OpMemberDecorate %_UniformBuffer 3 Offset 24
24OpDecorate %_UniformBuffer Block
25OpDecorate %10 Binding 0
26OpDecorate %10 DescriptorSet 0
27OpDecorate %21 RelaxedPrecision
28OpDecorate %22 RelaxedPrecision
29OpDecorate %25 RelaxedPrecision
30OpDecorate %26 RelaxedPrecision
31OpDecorate %27 RelaxedPrecision
32OpDecorate %29 RelaxedPrecision
33OpDecorate %30 RelaxedPrecision
34OpDecorate %32 RelaxedPrecision
35OpDecorate %33 RelaxedPrecision
36OpDecorate %34 RelaxedPrecision
37OpDecorate %35 RelaxedPrecision
38OpDecorate %60 RelaxedPrecision
39OpDecorate %61 RelaxedPrecision
40OpDecorate %62 RelaxedPrecision
41OpDecorate %66 RelaxedPrecision
42OpDecorate %67 RelaxedPrecision
43OpDecorate %68 RelaxedPrecision
44%float = OpTypeFloat 32
45%v4float = OpTypeVector %float 4
46%_ptr_Output_v4float = OpTypePointer Output %v4float
47%sk_FragColor = OpVariable %_ptr_Output_v4float Output
48%bool = OpTypeBool
49%_ptr_Input_bool = OpTypePointer Input %bool
50%sk_Clockwise = OpVariable %_ptr_Input_bool Input
51%v2float = OpTypeVector %float 2
52%_UniformBuffer = OpTypeStruct %v2float %v2float %v2float %v2float
53%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
54%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
55%void = OpTypeVoid
56%15 = OpTypeFunction %void
57%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
58%int = OpTypeInt 32 1
59%int_0 = OpConstant %int 0
60%int_1 = OpConstant %int 1
61%_ptr_Output_float = OpTypePointer Output %float
62%int_2 = OpConstant %int 2
63%int_3 = OpConstant %int 3
64%float_12 = OpConstant %float 12
65%v3float = OpTypeVector %float 3
66%float_n8 = OpConstant %float -8
67%60 = OpConstantComposite %v3float %float_n8 %float_n8 %float_12
68%float_9 = OpConstant %float 9
69%float_n18 = OpConstant %float -18
70%float_n9 = OpConstant %float -9
71%66 = OpConstantComposite %v3float %float_9 %float_n18 %float_n9
72%main = OpFunction %void None %15
73%16 = OpLabel
74%17 = OpAccessChain %_ptr_Uniform_v2float %10 %int_0
75%21 = OpLoad %v2float %17
76%22 = OpCompositeExtract %float %21 0
77%23 = OpAccessChain %_ptr_Uniform_v2float %10 %int_1
78%25 = OpLoad %v2float %23
79%26 = OpCompositeExtract %float %25 1
80%27 = OpFMul %float %22 %26
81%28 = OpAccessChain %_ptr_Uniform_v2float %10 %int_0
82%29 = OpLoad %v2float %28
83%30 = OpCompositeExtract %float %29 1
84%31 = OpAccessChain %_ptr_Uniform_v2float %10 %int_1
85%32 = OpLoad %v2float %31
86%33 = OpCompositeExtract %float %32 0
87%34 = OpFMul %float %30 %33
88%35 = OpFSub %float %27 %34
89%36 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
90OpStore %36 %35
91%38 = OpAccessChain %_ptr_Uniform_v2float %10 %int_2
92%40 = OpLoad %v2float %38
93%41 = OpCompositeExtract %float %40 0
94%42 = OpAccessChain %_ptr_Uniform_v2float %10 %int_3
95%44 = OpLoad %v2float %42
96%45 = OpCompositeExtract %float %44 1
97%46 = OpFMul %float %41 %45
98%47 = OpAccessChain %_ptr_Uniform_v2float %10 %int_2
99%48 = OpLoad %v2float %47
100%49 = OpCompositeExtract %float %48 1
101%50 = OpAccessChain %_ptr_Uniform_v2float %10 %int_3
102%51 = OpLoad %v2float %50
103%52 = OpCompositeExtract %float %51 0
104%53 = OpFMul %float %49 %52
105%54 = OpFSub %float %46 %53
106%55 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_1
107OpStore %55 %54
108%57 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_2
109OpStore %57 %float_12
110%61 = OpLoad %v4float %sk_FragColor
111%62 = OpVectorShuffle %v4float %61 %60 4 5 6 3
112OpStore %sk_FragColor %62
113%67 = OpLoad %v4float %sk_FragColor
114%68 = OpVectorShuffle %v4float %67 %66 0 4 5 6
115OpStore %sk_FragColor %68
116OpReturn
117OpFunctionEnd
118