summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2017-07-21 12:19:01 -0700
committerTim Foley <tfoley@nvidia.com>2017-07-21 12:19:01 -0700
commit0048a81aeb06d3942362c9f00f9ca004a79bc56b (patch)
tree1e6b270289924060c4a5700d134435005e134d8e /source
parent3fa85ede1a6d532b0e86c8b71d3f37d30c353aad (diff)
Don't add `flat` qualifier to integer fragment output
Fixes #133 We already had logic to skip adding `flat` to a vertex input, and this just extends it to not adding `flat` to a fragment output. Note that explicit qualifiers in the input HLSL/Slang will still be carried through to the output, so it is still possible for a Slang user to shoot themself in the foot with interpolation qualifiers.
Diffstat (limited to 'source')
-rw-r--r--source/slang/lower.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/slang/lower.cpp b/source/slang/lower.cpp
index 174c93c1d..9c2c38b60 100644
--- a/source/slang/lower.cpp
+++ b/source/slang/lower.cpp
@@ -3582,9 +3582,14 @@ struct LoweringVisitor
else if (isIntegralType(varType))
{
if (info.direction == VaryingParameterDirection::Input
- && shared->entryPointRequest->profile.GetStage() == Stage::Vertex)
+ && shared->entryPointRequest->profile.GetStage() != Stage::Fragment)
{
- // Don't add extra qualification to VS inputs
+ // Don't add extra qualification to vertex shader inputs
+ }
+ else if (info.direction == VaryingParameterDirection::Output
+ && shared->entryPointRequest->profile.GetStage() == Stage::Fragment)
+ {
+ // Don't add extra qualification to fragment shader outputs
}
else
{