GLSL/SPV: Propagaet precision qualifier from function to return value.

When a return value's type has no precision qualification (e.g., the return
expression is formed from a constructor), and the formal function return type
has a precision qualification, back propagate that from the return type to the
type of the return value's expression.
This commit is contained in:
John Kessenich
2020-07-15 23:38:47 -06:00
parent 4f72970ed3
commit 3d2391fb25
7 changed files with 462 additions and 455 deletions

View File

@@ -31,7 +31,7 @@ ERROR: node is still EOpNull!
0:9 'a' ( in 5-element array of mediump float)
0:11 Sequence
0:11 Branch: Return with expression
0:11 Construct float ( temp 4-element array of float)
0:11 Construct float ( temp 4-element array of mediump float)
0:11 direct index ( temp mediump float)
0:11 'a' ( in 5-element array of mediump float)
0:11 Constant:
@@ -168,7 +168,7 @@ ERROR: node is still EOpNull!
0:9 'a' ( in 5-element array of mediump float)
0:11 Sequence
0:11 Branch: Return with expression
0:11 Construct float ( temp 4-element array of float)
0:11 Construct float ( temp 4-element array of mediump float)
0:11 direct index ( temp mediump float)
0:11 'a' ( in 5-element array of mediump float)
0:11 Constant: