Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975
[platform/upstream/glslang.git] / Test / hlsl.gatherRGBA.basic.dx10.frag
1 SamplerState       g_sSamp : register(s0);
2 uniform sampler2D          g_sSamp2d;
3
4 Texture1D          g_tTex1df4a : register(t1);
5
6 uniform Texture1D <float4> g_tTex1df4 : register(t0);
7 Texture1D <int4>   g_tTex1di4;
8 Texture1D <uint4>  g_tTex1du4;
9
10 Texture2D <float4> g_tTex2df4;
11 Texture2D <int4>   g_tTex2di4;
12 Texture2D <uint4>  g_tTex2du4;
13
14 Texture3D <float4> g_tTex3df4;
15 Texture3D <int4>   g_tTex3di4;
16 Texture3D <uint4>  g_tTex3du4;
17
18 TextureCube <float4> g_tTexcdf4;
19 TextureCube <int4>   g_tTexcdi4;
20 TextureCube <uint4>  g_tTexcdu4;
21
22 struct PS_OUTPUT
23 {
24     float4 Color : SV_Target0;
25     float  Depth : SV_Depth;
26 };
27
28 uniform float  c1;
29 uniform float2 c2;
30 uniform float3 c3;
31 uniform float4 c4;
32
33 PS_OUTPUT main()
34 {
35    PS_OUTPUT psout;
36
37    // no 1D gathers
38
39    float4 txval00 = g_tTex2df4 . GatherRed(g_sSamp, c2);
40    int4   txval01 = g_tTex2di4 . GatherRed(g_sSamp, c2);
41    uint4  txval02 = g_tTex2du4 . GatherRed(g_sSamp, c2);
42
43    float4 txval10 = g_tTex2df4 . GatherGreen(g_sSamp, c2);
44    int4   txval11 = g_tTex2di4 . GatherGreen(g_sSamp, c2);
45    uint4  txval12 = g_tTex2du4 . GatherGreen(g_sSamp, c2);
46
47    float4 txval20 = g_tTex2df4 . GatherBlue(g_sSamp, c2);
48    int4   txval21 = g_tTex2di4 . GatherBlue(g_sSamp, c2);
49    uint4  txval22 = g_tTex2du4 . GatherBlue(g_sSamp, c2);
50
51    float4 txval30 = g_tTex2df4 . GatherAlpha(g_sSamp, c2);
52    int4   txval31 = g_tTex2di4 . GatherAlpha(g_sSamp, c2);
53    uint4  txval32 = g_tTex2du4 . GatherAlpha(g_sSamp, c2);
54
55    // no 3D gathers
56
57    float4 txval40 = g_tTexcdf4 . GatherRed(g_sSamp, c3);
58    int4   txval41 = g_tTexcdi4 . GatherRed(g_sSamp, c3);
59    uint4  txval42 = g_tTexcdu4 . GatherRed(g_sSamp, c3);
60
61    float4 txval50 = g_tTexcdf4 . GatherGreen(g_sSamp, c3);
62    int4   txval51 = g_tTexcdi4 . GatherGreen(g_sSamp, c3);
63    uint4  txval52 = g_tTexcdu4 . GatherGreen(g_sSamp, c3);
64
65    float4 txval60 = g_tTexcdf4 . GatherBlue(g_sSamp, c3);
66    int4   txval61 = g_tTexcdi4 . GatherBlue(g_sSamp, c3);
67    uint4  txval62 = g_tTexcdu4 . GatherBlue(g_sSamp, c3);
68
69    float4 txval70 = g_tTexcdf4 . GatherAlpha(g_sSamp, c3);
70    int4   txval71 = g_tTexcdi4 . GatherAlpha(g_sSamp, c3);
71    uint4  txval72 = g_tTexcdu4 . GatherAlpha(g_sSamp, c3);
72
73    psout.Color = 1.0;
74    psout.Depth = 1.0;
75
76    return psout;
77 }