1617a3babSopenharmony_cistruct os {
2617a3babSopenharmony_ci    sampler2D s2D;
3617a3babSopenharmony_ci};
4617a3babSopenharmony_ci
5617a3babSopenharmony_cistruct os2 {
6617a3babSopenharmony_ci    sampler2D s2D;
7617a3babSopenharmony_ci    Texture2D tex;
8617a3babSopenharmony_ci};
9617a3babSopenharmony_ci
10617a3babSopenharmony_ciTexture2D tex;
11617a3babSopenharmony_cios s;
12617a3babSopenharmony_cios2 s2;
13617a3babSopenharmony_ci
14617a3babSopenharmony_cifloat4 osCall1(os s)
15617a3babSopenharmony_ci{
16617a3babSopenharmony_ci    return tex.Sample(s.s2D, float2(0.2, 0.3));
17617a3babSopenharmony_ci}
18617a3babSopenharmony_ci
19617a3babSopenharmony_cifloat4 osCall2(os s, float2 f2)
20617a3babSopenharmony_ci{
21617a3babSopenharmony_ci    return tex.Sample(s.s2D, f2);
22617a3babSopenharmony_ci}
23617a3babSopenharmony_ci
24617a3babSopenharmony_cifloat4 os2Call1(os2 s)
25617a3babSopenharmony_ci{
26617a3babSopenharmony_ci    return s.tex.Sample(s.s2D, float2(0.2, 0.3));
27617a3babSopenharmony_ci}
28617a3babSopenharmony_ci
29617a3babSopenharmony_cifloat4 os2Call2(os2 s, float2 f2)
30617a3babSopenharmony_ci{
31617a3babSopenharmony_ci    return s.tex.Sample(s.s2D, f2);
32617a3babSopenharmony_ci}
33617a3babSopenharmony_ci
34617a3babSopenharmony_cifloat4 main() : SV_TARGET0
35617a3babSopenharmony_ci{
36617a3babSopenharmony_ci    return osCall1(s) +
37617a3babSopenharmony_ci           osCall2(s, float2(0.2, 0.3)) +
38617a3babSopenharmony_ci           os2Call1(s2) +
39617a3babSopenharmony_ci           os2Call2(s2, float2(0.2, 0.3));
40617a3babSopenharmony_ci}
41