Hash :
ab514d4a
Author :
Date :
2021-10-22T20:51:08
d3d11: fix typo in pixel shader function signatures
These two shaders used "TEXCORD0" instead of "TEXCOORD0" which made the
Direct3D debug layers unhappy:
D3D11 ERROR: ID3D11DeviceContext::Draw: Vertex Shader - Pixel Shader
linkage error: Signatures between stages are incompatible. The input
stage requires Semantic/Index (TEXCORD,0) as input, but it is not
provided by the output stage. [ EXECUTION ERROR #342:
DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND]
Fixing the typo makes that error go away.
Bug: angleproject:6614
Change-Id: Ifa1c8c01fb4502398b3b4e13a411ef50bc3db483
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3239013
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
Texture2D<float4> TextureF : register(t0);
Texture2DMS<float4> TextureF_MS: register(t0);
Texture2D<uint4> TextureUI : register(t0);
Texture2D<int4> TextureI : register(t0);
SamplerState Sampler : register(s0);
void VS_Passthrough2D( in float2 inPosition : POSITION, in float2 inTexCoord : TEXCOORD0,
out float4 outPosition : SV_POSITION, out float2 outTexCoord : TEXCOORD0)
{
outPosition = float4(inPosition, 0.0f, 1.0f);
outTexCoord = inTexCoord;
}
float PS_PassthroughDepth2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_DEPTH
{
return TextureF.Sample(Sampler, inTexCoord).r;
}
float4 PS_PassthroughRGBA2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
return TextureF.Sample(Sampler, inTexCoord).rgba;
}
float4 PS_PassthroughA2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
return float4(0.0f, 0.0f, 0.0f, TextureF.Sample(Sampler, inTexCoord).a);
}
float4 PS_PassthroughRGBA2DMS(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0, in uint inSampleIndex : SV_SAMPLEINDEX) : SV_TARGET0
{
return TextureF_MS.sample[inSampleIndex][inTexCoord].rgba;
}
uint4 PS_PassthroughRGBA2DUI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
uint2 size;
TextureUI.GetDimensions(size.x, size.y);
return TextureUI.Load(int3(size * inTexCoord, 0)).rgba;
}
int4 PS_PassthroughRGBA2DI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
uint2 size;
TextureI.GetDimensions(size.x, size.y);
return TextureI.Load(int3(size * inTexCoord, 0)).rgba;
}
float4 PS_PassthroughRGB2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
return float4(TextureF.Sample(Sampler, inTexCoord).rgb, 1.0f);
}
uint4 PS_PassthroughRGB2DUI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
uint2 size;
TextureUI.GetDimensions(size.x, size.y);
return uint4(TextureUI.Load(int3(size * inTexCoord, 0)).rgb, 0);
}
int4 PS_PassthroughRGB2DI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
uint2 size;
TextureI.GetDimensions(size.x, size.y);
return int4(TextureI.Load(int3(size * inTexCoord, 0)).rgb, 0);
}
float4 PS_PassthroughRG2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
return float4(TextureF.Sample(Sampler, inTexCoord).rg, 0.0f, 1.0f);
}
uint4 PS_PassthroughRG2DUI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
uint2 size;
TextureUI.GetDimensions(size.x, size.y);
return uint4(TextureUI.Load(int3(size * inTexCoord, 0)).rg, 0, 0);
}
int4 PS_PassthroughRG2DI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
uint2 size;
TextureI.GetDimensions(size.x, size.y);
return int4(TextureI.Load(int3(size * inTexCoord, 0)).rg, 0, 0);
}
float4 PS_PassthroughR2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
return float4(TextureF.Sample(Sampler, inTexCoord).r, 0.0f, 0.0f, 1.0f);
}
uint4 PS_PassthroughR2DUI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
uint2 size;
TextureUI.GetDimensions(size.x, size.y);
return uint4(TextureUI.Load(int3(size * inTexCoord, 0)).r, 0, 0, 0);
}
int4 PS_PassthroughR2DI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
uint2 size;
TextureI.GetDimensions(size.x, size.y);
return int4(TextureI.Load(int3(size * inTexCoord, 0)).r, 0, 0, 0);
}
float4 PS_PassthroughLum2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
return float4(TextureF.Sample(Sampler, inTexCoord).rrr, 1.0f);
}
float4 PS_PassthroughLumAlpha2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
return TextureF.Sample(Sampler, inTexCoord).rrra;
}
float4 PS_PassthroughRGBA2D_4444(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
return round(TextureF.Sample(Sampler, inTexCoord) * float4(15, 15, 15, 15)) / float4(15, 15, 15, 15);
}
float4 PS_PassthroughRGB2D_565(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
return float4(round(TextureF.Sample(Sampler, inTexCoord).rgb * float3(31, 63, 31)) / float3(31, 63, 31), 1.0f);
}
float4 PS_PassthroughRGBA2D_5551(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
{
return round(TextureF.Sample(Sampler, inTexCoord) * float4(31, 31, 31, 1)) / float4(31, 31, 31, 1);
}