Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / angle / src / libGLESv2 / renderer / d3d / d3d11 / shaders / Passthrough2D11.hlsl
1 Texture2D<float4> TextureF  : register(t0);
2 Texture2D<uint4>  TextureUI : register(t0);
3 Texture2D<int4>   TextureI  : register(t0);
4
5 SamplerState Sampler        : register(s0);
6
7 void VS_Passthrough2D( in float2  inPosition :    POSITION,  in float2  inTexCoord : TEXCOORD0,
8                     out float4 outPosition : SV_POSITION, out float2 outTexCoord : TEXCOORD0)
9 {
10     outPosition = float4(inPosition, 0.0f, 1.0f);
11     outTexCoord = inTexCoord;
12 }
13
14 float PS_PassthroughDepth2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_DEPTH
15 {
16     return TextureF.Sample(Sampler, inTexCoord).r;
17 }
18
19 float4 PS_PassthroughRGBA2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
20 {
21     return TextureF.Sample(Sampler, inTexCoord).rgba;
22 }
23
24 uint4 PS_PassthroughRGBA2DUI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
25 {
26     uint2 size;
27     TextureUI.GetDimensions(size.x, size.y);
28
29     return TextureUI.Load(int3(size * inTexCoord, 0)).rgba;
30 }
31
32 int4 PS_PassthroughRGBA2DI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
33 {
34     uint2 size;
35     TextureI.GetDimensions(size.x, size.y);
36
37     return TextureI.Load(int3(size * inTexCoord, 0)).rgba;
38 }
39
40 float4 PS_PassthroughRGB2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
41 {
42     return float4(TextureF.Sample(Sampler, inTexCoord).rgb, 1.0f);
43 }
44
45 uint4 PS_PassthroughRGB2DUI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
46 {
47     uint2 size;
48     TextureUI.GetDimensions(size.x, size.y);
49
50     return uint4(TextureUI.Load(int3(size * inTexCoord, 0)).rgb, 0);
51 }
52
53 int4 PS_PassthroughRGB2DI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
54 {
55     uint2 size;
56     TextureI.GetDimensions(size.x, size.y);
57
58     return int4(TextureI.Load(int3(size * inTexCoord, 0)).rgb, 0);
59 }
60
61 float4 PS_PassthroughRG2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
62 {
63     return float4(TextureF.Sample(Sampler, inTexCoord).rg, 0.0f, 1.0f);
64 }
65
66 uint4 PS_PassthroughRG2DUI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
67 {
68     uint2 size;
69     TextureUI.GetDimensions(size.x, size.y);
70
71     return uint4(TextureUI.Load(int3(size * inTexCoord, 0)).rg, 0, 0);
72 }
73
74 int4 PS_PassthroughRG2DI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
75 {
76     uint2 size;
77     TextureI.GetDimensions(size.x, size.y);
78
79     return int4(TextureI.Load(int3(size * inTexCoord, 0)).rg, 0, 0);
80 }
81
82 float4 PS_PassthroughR2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
83 {
84     return float4(TextureF.Sample(Sampler, inTexCoord).r, 0.0f, 0.0f, 1.0f);
85 }
86
87 uint4 PS_PassthroughR2DUI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
88 {
89     uint2 size;
90     TextureUI.GetDimensions(size.x, size.y);
91
92     return uint4(TextureUI.Load(int3(size * inTexCoord, 0)).r, 0, 0, 0);
93 }
94
95 int4 PS_PassthroughR2DI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
96 {
97     uint2 size;
98     TextureI.GetDimensions(size.x, size.y);
99
100     return int4(TextureI.Load(int3(size * inTexCoord, 0)).r, 0, 0, 0);
101 }
102
103 float4 PS_PassthroughLum2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
104 {
105     return float4(TextureF.Sample(Sampler, inTexCoord).rrr, 1.0f);
106 }
107
108 float4 PS_PassthroughLumAlpha2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
109 {
110     return TextureF.Sample(Sampler, inTexCoord).rrra;
111 }