Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2021-05-07 14:15:55 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2021-05-07 14:15:55 +0300
commitb8115ffbe096bfe8ad979d40bb7480aed06226c6 (patch)
tree96c651dca2185f14851a793b702809e240369a23 /spirv_hlsl.cpp
parente47a30e807990c6fe1998c9c4f291d825f043557 (diff)
HLSL: Implement invariant as precise.
Only option we have.
Diffstat (limited to 'spirv_hlsl.cpp')
-rw-r--r--spirv_hlsl.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/spirv_hlsl.cpp b/spirv_hlsl.cpp
index 1d08251a..9435c4e0 100644
--- a/spirv_hlsl.cpp
+++ b/spirv_hlsl.cpp
@@ -570,7 +570,7 @@ void CompilerHLSL::emit_builtin_outputs_in_struct()
switch (builtin)
{
case BuiltInPosition:
- type = "float4";
+ type = is_position_invariant() && backend.support_precise_qualifier ? "precise float4" : "float4";
semantic = legacy ? "POSITION" : "SV_Position";
break;
@@ -818,8 +818,8 @@ string CompilerHLSL::to_interpolation_qualifiers(const Bitset &flags)
res += "patch "; // Seems to be different in actual HLSL.
if (flags.get(DecorationSample))
res += "sample ";
- if (flags.get(DecorationInvariant))
- res += "invariant "; // Not supported?
+ if (flags.get(DecorationInvariant) && backend.support_precise_qualifier)
+ res += "precise "; // Not supported?
return res;
}