aboutsummaryrefslogtreecommitdiff
path: root/glslang/MachineIndependent/Intermediate.cpp
diff options
context:
space:
mode:
authorJohn Kessenich <cepheus@frii.com>2013-01-29 17:24:14 +0000
committerJohn Kessenich <cepheus@frii.com>2013-01-29 17:24:14 +0000
commit59ddbafb62249968b3258df09ca25d6d96df0c36 (patch)
treeab8fbafa0b2c09ef4148407f8a3bc6123458d0f2 /glslang/MachineIndependent/Intermediate.cpp
parente406f1c71c338081e3ad4bf92c10ff804e79da6e (diff)
downloadglslang-59ddbafb62249968b3258df09ca25d6d96df0c36.tar.gz
Have non-ES profiles always use EpqNone (no precision qualifier) rather than using highp. This keeps precision qualifiers out of error messages, IL dumps, etc., and avoids the precision propagation algorithm.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20364 e7fa87d3-cd2b-0410-9028-fcbf551c1848
Diffstat (limited to 'glslang/MachineIndependent/Intermediate.cpp')
-rw-r--r--glslang/MachineIndependent/Intermediate.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
index 389d4a9b..091158bf 100644
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -836,8 +836,10 @@ bool TIntermBinary::promote(TInfoSink& infoSink)
// Fix precision qualifiers
if (right->getQualifier().precision > getQualifier().precision)
getQualifier().precision = right->getQualifier().precision;
- left->propagatePrecision(getQualifier().precision);
- right->propagatePrecision(getQualifier().precision);
+ if (getQualifier().precision != EpqNone) {
+ left->propagatePrecision(getQualifier().precision);
+ right->propagatePrecision(getQualifier().precision);
+ }
//
// Array operations.
@@ -1125,7 +1127,8 @@ void TIntermTyped::propagatePrecision(TPrecisionQualifier newPrecision)
// comma operator: just through the last operand
// ":?" and ",": where is this triggered?
// built-in function calls: how much to propagate to arguments?
- // performance: don't do this for desktop profiles
+ // length()?
+ // indexing?
}
bool CompareStructure(const TType& leftNodeType, constUnion* rightUnionArray, constUnion* leftUnionArray)