HLSL: Improve setting and testing of interpolation qualifiers.

Notably, use of 'linear' on a non-input could mark it as an input.
This commit is contained in:
John Kessenich
2016-09-16 17:10:39 -06:00
parent d21baed6bc
commit 34e7ee79bb
8 changed files with 299 additions and 184 deletions

View File

@@ -16,7 +16,7 @@ struct {
float4 i;
} s2;
struct {
struct IN_S {
linear float4 a;
nointerpolation bool b;
noperspective centroid float1 c;
@@ -25,19 +25,19 @@ struct {
bool ff2 : packoffset(c0.y);
bool ff3 : packoffset(c0.y) : register(ps_5_0, s0) ;
float4 ff4 : VPOS : packoffset(c0.y) : register(ps_5_0, s0) <int bambam=30;> ;
} s4;
};
float3 ff5 : packoffset(c1.y) : register(ps_5_0, s[5]);
float3 ff6 : packoffset(c2.y) : register(s3[5]);
float4 PixelShaderFunction(float4 input) : COLOR0
float4 PixelShaderFunction(float4 input, IN_S s) : COLOR0
{
struct FS {
bool3 b3;
} s3;
s3 == s3;
s2.i = s4.ff4;
s2.i = s.ff4;
return input;
}