generate OpLine before OpFunction
[platform/upstream/glslang.git] / Test / hlsl.intrinsics.evalfns.frag
1 struct PS_INPUT
2 {
3         float2 vPos: TEXCOORD0;
4 };
5
6 float4 main(float inF1, float2 inF2, float3 inF3, float4 inF4, int2 inI2, PS_INPUT i) : COLOR
7 {
8     float  oF1 = EvaluateAttributeSnapped(inF1, int2(8,15));
9     float2 oF2 = EvaluateAttributeSnapped(inF2, int2(0,1));
10     float3 oF3 = EvaluateAttributeSnapped(inF3, int2(3,10));
11     float4 oF4 = EvaluateAttributeSnapped(inF4, int2(7,8));
12
13     oF1 += EvaluateAttributeSnapped(inF1, inI2);
14
15     oF1 += EvaluateAttributeAtSample(inF1, 3);
16     oF2 += EvaluateAttributeAtSample(inF2, 3);
17     oF3 += EvaluateAttributeAtSample(inF3, 3);
18     oF4 += EvaluateAttributeAtSample(inF4, 3);
19
20     oF1 += EvaluateAttributeAtSample(inF1, inI2.x);
21
22     oF1 += EvaluateAttributeAtCentroid(inF1);
23     oF2 += EvaluateAttributeAtCentroid(inF2);
24     oF3 += EvaluateAttributeAtCentroid(inF3);
25     oF4 += EvaluateAttributeAtCentroid(inF4);
26
27     oF2 += EvaluateAttributeSnapped(i.vPos, int2(0,1));
28     oF2 += EvaluateAttributeAtSample(i.vPos, 3);
29     oF2 += EvaluateAttributeAtCentroid(i.vPos);
30
31     float4 color = float4(oF1, oF2.y, oF3.z, oF4.w);
32     return color;
33 }