• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1;; Test where src and dst have many small functions with small differences.
2               OpCapability Shader
3          %1 = OpExtInstImport "GLSL.std.450"
4               OpMemoryModel Logical GLSL450
5               OpEntryPoint GLCompute %4 "main"
6               OpExecutionMode %4 LocalSize 1 1 1
7               OpSource ESSL 310
8               OpName %4 "main"
9               OpName %6 "f1("
10               OpName %8 "f2("
11               OpName %10 "f3("
12               OpName %12 "f4("
13               OpName %14 "f5("
14               OpName %17 "BufferOut"
15               OpMemberName %17 0 "o"
16               OpName %19 ""
17               OpName %22 "BufferIn"
18               OpMemberName %22 0 "i"
19               OpName %24 ""
20               OpMemberDecorate %17 0 Offset 0
21               OpDecorate %17 BufferBlock
22               OpDecorate %19 DescriptorSet 0
23               OpDecorate %19 Binding 1
24               OpMemberDecorate %22 0 Offset 0
25               OpDecorate %22 Block
26               OpDecorate %24 DescriptorSet 0
27               OpDecorate %24 Binding 0
28          %2 = OpTypeVoid
29          %3 = OpTypeFunction %2
30         %16 = OpTypeInt 32 0
31         %17 = OpTypeStruct %16
32         %18 = OpTypePointer Uniform %17
33         %19 = OpVariable %18 Uniform
34         %20 = OpTypeInt 32 1
35         %21 = OpConstant %20 0
36         %22 = OpTypeStruct %16
37         %23 = OpTypePointer Uniform %22
38         %24 = OpVariable %23 Uniform
39         %25 = OpTypePointer Uniform %16
40         %31 = OpConstant %20 1
41         %36 = OpConstant %16 2
42          %4 = OpFunction %2 None %3
43          %5 = OpLabel
44         %45 = OpFunctionCall %2 %6
45         %46 = OpFunctionCall %2 %8
46         %47 = OpFunctionCall %2 %10
47         %48 = OpFunctionCall %2 %12
48         %49 = OpFunctionCall %2 %14
49               OpReturn
50               OpFunctionEnd
51          %6 = OpFunction %2 None %3
52          %7 = OpLabel
53         %26 = OpAccessChain %25 %24 %21
54         %27 = OpLoad %16 %26
55         %28 = OpAccessChain %25 %19 %21
56               OpStore %28 %27
57               OpReturn
58               OpFunctionEnd
59          %8 = OpFunction %2 None %3
60          %9 = OpLabel
61         %29 = OpAccessChain %25 %19 %21
62         %30 = OpLoad %16 %29
63         %32 = OpIAdd %16 %30 %31
64               OpStore %29 %32
65               OpReturn
66               OpFunctionEnd
67         %10 = OpFunction %2 None %3
68         %11 = OpLabel
69         %33 = OpAccessChain %25 %19 %21
70         %34 = OpLoad %16 %33
71         %35 = OpISub %16 %34 %31
72               OpStore %33 %35
73               OpReturn
74               OpFunctionEnd
75         %12 = OpFunction %2 None %3
76         %13 = OpLabel
77         %37 = OpAccessChain %25 %19 %21
78         %38 = OpLoad %16 %37
79         %39 = OpIMul %16 %38 %36
80         %40 = OpAccessChain %25 %19 %21
81               OpStore %40 %39
82               OpReturn
83               OpFunctionEnd
84         %14 = OpFunction %2 None %3
85         %15 = OpLabel
86         %41 = OpAccessChain %25 %19 %21
87         %42 = OpLoad %16 %41
88         %43 = OpUDiv %16 %42 %36
89         %44 = OpAccessChain %25 %19 %21
90               OpStore %44 %43
91               OpReturn
92               OpFunctionEnd
93
94