diff options
| author | Tim Foley <tfoley@nvidia.com> | 2017-07-21 12:19:01 -0700 |
|---|---|---|
| committer | Tim Foley <tfoley@nvidia.com> | 2017-07-21 12:19:01 -0700 |
| commit | 0048a81aeb06d3942362c9f00f9ca004a79bc56b (patch) | |
| tree | 1e6b270289924060c4a5700d134435005e134d8e /source | |
| parent | 3fa85ede1a6d532b0e86c8b71d3f37d30c353aad (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.cpp | 9 |
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 { |
