struct PS_OUTPUT { float4 color : SV_Target0; }; int i; uint u; float f; bool b; int2 i2; uint2 u2; float2 f2; bool2 b2; Buffer g_tTexbfs; Texture1D g_tTex1df4; uint upos; float fpos; PS_OUTPUT main() { // Same shapes: float r00 = max(b, f); uint r01 = max(b, u); int r02 = max(b, i); float r03 = max(i, f); float r04 = max(u, f); float2 r10 = max(b2, f2); uint2 r11 = max(b2, u2); int2 r12 = max(b2, i2); float2 r13 = max(i2, f2); float2 r14 = max(u2, f2); float2 r20 = clamp(i2, u2, f2); // 3 args, converts all to best type. uint2 r21 = clamp(b2, u2, b2); float2 r22 = clamp(b2, f2, b2); // Mixed shapes: float2 r30 = max(b, f2); uint2 r31 = max(b, u2); int2 r32 = max(b, i2); float2 r33 = max(i, f2); float2 r34 = max(u, f2); float2 r40 = clamp(i, u2, f2); // 3 args, converts all to best type. uint2 r41 = clamp(b2, u, b2); float2 r42 = clamp(b2, f, b); int2 r43 = clamp(i, i2, u2); float r50 = g_tTexbfs.Load(upos); float r51 = g_tTexbfs.Load(fpos); int MipLevel; uint WidthU; uint HeightU; uint ElementsU; uint DepthU; uint NumberOfLevelsU; uint NumberOfSamplesU; int WidthI; int HeightI; int ElementsI; int DepthI; int NumberOfLevelsI; int NumberOfSamplesI; g_tTex1df4 . GetDimensions(WidthI); g_tTex1df4 . GetDimensions(6, WidthI, NumberOfLevelsU); g_tTex1df4 . GetDimensions(6, WidthU, NumberOfLevelsI); g_tTex1df4 . GetDimensions(6, WidthI, NumberOfLevelsI); // max(i2, f2); PS_OUTPUT ps_output; ps_output.color = r00; return ps_output; };