1617a3babSopenharmony_ciSamplerState       g_sSamp : register(s0);
2617a3babSopenharmony_ci
3617a3babSopenharmony_ciuniform Texture1D <float4> g_tTex1df4 : register(t0);
4617a3babSopenharmony_ciTexture1D <int4>   g_tTex1di4;
5617a3babSopenharmony_ciTexture1D <uint4>  g_tTex1du4;
6617a3babSopenharmony_ci
7617a3babSopenharmony_ciTexture2D <float4> g_tTex2df4;
8617a3babSopenharmony_ciTexture2D <int4>   g_tTex2di4;
9617a3babSopenharmony_ciTexture2D <uint4>  g_tTex2du4;
10617a3babSopenharmony_ci
11617a3babSopenharmony_ciTexture3D <float4> g_tTex3df4;
12617a3babSopenharmony_ciTexture3D <int4>   g_tTex3di4;
13617a3babSopenharmony_ciTexture3D <uint4>  g_tTex3du4;
14617a3babSopenharmony_ci
15617a3babSopenharmony_ciTextureCube <float4> g_tTexcdf4;
16617a3babSopenharmony_ciTextureCube <int4>   g_tTexcdi4;
17617a3babSopenharmony_ciTextureCube <uint4>  g_tTexcdu4;
18617a3babSopenharmony_ci
19617a3babSopenharmony_ciTexture1DArray <float4> g_tTex1df4a;
20617a3babSopenharmony_ciTexture1DArray <int4>   g_tTex1di4a;
21617a3babSopenharmony_ciTexture1DArray <uint4>  g_tTex1du4a;
22617a3babSopenharmony_ci
23617a3babSopenharmony_ciTexture2DArray <float4> g_tTex2df4a;
24617a3babSopenharmony_ciTexture2DArray <int4>   g_tTex2di4a;
25617a3babSopenharmony_ciTexture2DArray <uint4>  g_tTex2du4a;
26617a3babSopenharmony_ci
27617a3babSopenharmony_ciTextureCubeArray <float4> g_tTexcdf4a;
28617a3babSopenharmony_ciTextureCubeArray <int4>   g_tTexcdi4a;
29617a3babSopenharmony_ciTextureCubeArray <uint4>  g_tTexcdu4a;
30617a3babSopenharmony_ci
31617a3babSopenharmony_cistruct PS_OUTPUT
32617a3babSopenharmony_ci{
33617a3babSopenharmony_ci    float4 Color : SV_Target0;
34617a3babSopenharmony_ci    float  Depth : SV_Depth;
35617a3babSopenharmony_ci};
36617a3babSopenharmony_ci
37617a3babSopenharmony_ciuniform int   c1;
38617a3babSopenharmony_ciuniform int2  c2;
39617a3babSopenharmony_ciuniform int3  c3;
40617a3babSopenharmony_ciuniform int4  c4;
41617a3babSopenharmony_ci
42617a3babSopenharmony_ciint getOffset1()
43617a3babSopenharmony_ci{
44617a3babSopenharmony_ci   return 1;
45617a3babSopenharmony_ci}
46617a3babSopenharmony_ci
47617a3babSopenharmony_ciint2 getOffset2()
48617a3babSopenharmony_ci{
49617a3babSopenharmony_ci   return int2(1, 1);
50617a3babSopenharmony_ci}
51617a3babSopenharmony_ci
52617a3babSopenharmony_ciint3 getOffset3()
53617a3babSopenharmony_ci{
54617a3babSopenharmony_ci   return int3(1, 1, 1);
55617a3babSopenharmony_ci}
56617a3babSopenharmony_ci
57617a3babSopenharmony_ciPS_OUTPUT main()
58617a3babSopenharmony_ci{
59617a3babSopenharmony_ci   PS_OUTPUT psout;
60617a3babSopenharmony_ci
61617a3babSopenharmony_ci   // 1D
62617a3babSopenharmony_ci   g_tTex1df4.Load(c2, getOffset1());
63617a3babSopenharmony_ci   g_tTex1di4.Load(c2, getOffset1());
64617a3babSopenharmony_ci   g_tTex1du4.Load(c2, getOffset1());
65617a3babSopenharmony_ci
66617a3babSopenharmony_ci   // 2D
67617a3babSopenharmony_ci   g_tTex2df4.Load(c3, getOffset2());
68617a3babSopenharmony_ci   g_tTex2di4.Load(c3, getOffset2());
69617a3babSopenharmony_ci   g_tTex2du4.Load(c3, getOffset2());
70617a3babSopenharmony_ci
71617a3babSopenharmony_ci   // 3D
72617a3babSopenharmony_ci   g_tTex3df4.Load(c4, getOffset3());
73617a3babSopenharmony_ci   g_tTex3di4.Load(c4, getOffset3());
74617a3babSopenharmony_ci   g_tTex3du4.Load(c4, getOffset3());
75617a3babSopenharmony_ci
76617a3babSopenharmony_ci   // Offset has no Cube or CubeArray forms
77617a3babSopenharmony_ci
78617a3babSopenharmony_ci   // TODO:
79617a3babSopenharmony_ci   // Load, SampleIndex
80617a3babSopenharmony_ci   // Load, SampleIndex, Offset
81617a3babSopenharmony_ci
82617a3babSopenharmony_ci   psout.Color = 1.0;
83617a3babSopenharmony_ci   psout.Depth = 1.0;
84617a3babSopenharmony_ci
85617a3babSopenharmony_ci   return psout;
86617a3babSopenharmony_ci}
87