1
2struct PS_OUTPUT { float4 color : SV_Target0; };
3
4int    i;
5uint   u;
6float  f;
7bool   b;
8
9int2   i2;
10uint2  u2;
11float2 f2;
12bool2  b2;
13
14Buffer    <float>  g_tTexbfs;
15Texture1D <float4> g_tTex1df4;
16uint  upos;
17float fpos;
18
19PS_OUTPUT main()
20{
21    // Same shapes:
22
23    float r00 = max(b,  f);
24    uint  r01 = max(b,  u);
25    int   r02 = max(b,  i);
26    float r03 = max(i,  f);
27    float r04 = max(u,  f);
28
29    float2 r10 = max(b2,  f2);
30    uint2  r11 = max(b2,  u2);
31    int2   r12 = max(b2,  i2);
32    float2 r13 = max(i2,  f2);
33    float2 r14 = max(u2,  f2);
34
35    float2 r20 = clamp(i2, u2, f2);  // 3 args, converts all to best type.
36    uint2  r21 = clamp(b2, u2, b2);
37    float2 r22 = clamp(b2, f2, b2);
38
39    // Mixed shapes:
40    float2 r30 = max(b,  f2);
41    uint2  r31 = max(b,  u2);
42    int2   r32 = max(b,  i2);
43    float2 r33 = max(i,  f2);
44    float2 r34 = max(u,  f2);
45
46    float2 r40 = clamp(i, u2, f2);  // 3 args, converts all to best type.
47    uint2  r41 = clamp(b2, u, b2);
48    float2 r42 = clamp(b2, f, b);
49    int2   r43 = clamp(i, i2, u2);
50
51    float r50 = g_tTexbfs.Load(upos);
52    float r51 = g_tTexbfs.Load(fpos);
53
54    int MipLevel;
55
56    uint WidthU;
57    uint HeightU;
58    uint ElementsU;
59    uint DepthU;
60    uint NumberOfLevelsU;
61    uint NumberOfSamplesU;
62
63    int  WidthI;
64    int  HeightI;
65    int  ElementsI;
66    int  DepthI;
67    int  NumberOfLevelsI;
68    int  NumberOfSamplesI;
69
70    g_tTex1df4 . GetDimensions(WidthI);
71    g_tTex1df4 . GetDimensions(6, WidthI, NumberOfLevelsU);
72    g_tTex1df4 . GetDimensions(6, WidthU, NumberOfLevelsI);
73    g_tTex1df4 . GetDimensions(6, WidthI, NumberOfLevelsI);
74
75    // max(i2, f2);
76    PS_OUTPUT ps_output;
77    ps_output.color = r00;
78    return ps_output;
79};
80