Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / angle / src / libGLESv2 / renderer / d3d / d3d11 / shaders / Clear11.hlsl
1 // Assume we are in SM4+, which has 8 color outputs
2
3 void VS_ClearFloat( in float3  inPosition :    POSITION,  in float4  inColor : COLOR,
4                    out float4 outPosition : SV_POSITION, out float4 outColor : COLOR)
5 {
6     outPosition = float4(inPosition, 1.0f);
7     outColor = inColor;
8 }
9
10 struct PS_OutputFloat
11 {
12     float4 color0 : SV_TARGET0;
13     float4 color1 : SV_TARGET1;
14     float4 color2 : SV_TARGET2;
15     float4 color3 : SV_TARGET3;
16     float4 color4 : SV_TARGET4;
17     float4 color5 : SV_TARGET5;
18     float4 color6 : SV_TARGET6;
19     float4 color7 : SV_TARGET7;
20 };
21
22 PS_OutputFloat PS_ClearFloat(in float4 inPosition : SV_POSITION, in float4 inColor : COLOR)
23 {
24     PS_OutputFloat outColor;
25     outColor.color0 = inColor;
26     outColor.color1 = inColor;
27     outColor.color2 = inColor;
28     outColor.color3 = inColor;
29     outColor.color4 = inColor;
30     outColor.color5 = inColor;
31     outColor.color6 = inColor;
32     outColor.color7 = inColor;
33     return outColor;
34 }
35
36
37 void VS_ClearUint( in float3  inPosition :    POSITION,   in uint4  inColor : COLOR,
38                    out float4 outPosition : SV_POSITION, out uint4 outColor : COLOR)
39 {
40     outPosition = float4(inPosition, 1.0f);
41     outColor = inColor;
42 }
43
44 struct PS_OutputUint
45 {
46     uint4 color0 : SV_TARGET0;
47     uint4 color1 : SV_TARGET1;
48     uint4 color2 : SV_TARGET2;
49     uint4 color3 : SV_TARGET3;
50     uint4 color4 : SV_TARGET4;
51     uint4 color5 : SV_TARGET5;
52     uint4 color6 : SV_TARGET6;
53     uint4 color7 : SV_TARGET7;
54 };
55
56 PS_OutputUint PS_ClearUint(in float4 inPosition : SV_POSITION, in uint4 inColor : COLOR)
57 {
58     PS_OutputUint outColor;
59     outColor.color0 = inColor;
60     outColor.color1 = inColor;
61     outColor.color2 = inColor;
62     outColor.color3 = inColor;
63     outColor.color4 = inColor;
64     outColor.color5 = inColor;
65     outColor.color6 = inColor;
66     outColor.color7 = inColor;
67     return outColor;
68 }
69
70
71 void VS_ClearSint( in float3  inPosition :    POSITION,   in int4  inColor : COLOR,
72                    out float4 outPosition : SV_POSITION, out int4 outColor : COLOR)
73 {
74     outPosition = float4(inPosition, 1.0f);
75     outColor = inColor;
76 }
77
78 struct PS_OutputSint
79 {
80     int4 color0 : SV_TARGET0;
81     int4 color1 : SV_TARGET1;
82     int4 color2 : SV_TARGET2;
83     int4 color3 : SV_TARGET3;
84     int4 color4 : SV_TARGET4;
85     int4 color5 : SV_TARGET5;
86     int4 color6 : SV_TARGET6;
87     int4 color7 : SV_TARGET7;
88 };
89
90 PS_OutputSint PS_ClearSint(in float4 inPosition : SV_POSITION, in int4 inColor : COLOR)
91 {
92     PS_OutputSint outColor;
93     outColor.color0 = inColor;
94     outColor.color1 = inColor;
95     outColor.color2 = inColor;
96     outColor.color3 = inColor;
97     outColor.color4 = inColor;
98     outColor.color5 = inColor;
99     outColor.color6 = inColor;
100     outColor.color7 = inColor;
101     return outColor;
102 }