0:27 Construct float (temp 1-component vector of float)
0:27 'v' (temp 4-component vector of float)
0:27 'f1' (temp 1-component vector of float)
-0:29 Branch: Return with expression
-0:29 'input' (in 4-component vector of float)
+0:28 Construct float (temp float)
+0:28 'f1' (temp 1-component vector of float)
+0:29 Construct vec3 (temp 3-component vector of float)
+0:29 Construct float (temp float)
+0:29 'f1' (temp 1-component vector of float)
+0:31 Branch: Return with expression
+0:31 'input' (in 4-component vector of float)
0:? Linker Objects
0:27 Construct float (temp 1-component vector of float)
0:27 'v' (temp 4-component vector of float)
0:27 'f1' (temp 1-component vector of float)
-0:29 Branch: Return with expression
-0:29 'input' (in 4-component vector of float)
+0:28 Construct float (temp float)
+0:28 'f1' (temp 1-component vector of float)
+0:29 Construct vec3 (temp 3-component vector of float)
+0:29 Construct float (temp float)
+0:29 'f1' (temp 1-component vector of float)
+0:31 Branch: Return with expression
+0:31 'input' (in 4-component vector of float)
0:? Linker Objects
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 81
+// Id's are bound by 84
Capability Shader
1: ExtInstImport "GLSL.std.450"
75: 6(float) CompositeExtract 74 0
76: 6(float) Load 69(f1)
77: 41(bool) FOrdLessThan 75 76
- 78: 7(fvec4) Load 11(input)
- ReturnValue 78
+ 78: 6(float) Load 69(f1)
+ 79: 6(float) Load 69(f1)
+ 80: 22(fvec3) CompositeConstruct 79 79 79
+ 81: 7(fvec4) Load 11(input)
+ ReturnValue 81
FunctionEnd
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
-#define GLSLANG_REVISION "Overload400-PrecQual.1464"
+#define GLSLANG_REVISION "Overload400-PrecQual.1465"
#define GLSLANG_DATE "02-Sep-2016"
return addConstructor(loc, base, type);
}
}
+ if (base->getVectorSize() == 1) {
+ TType scalarType(base->getBasicType(), EvqTemporary, 1);
+ if (fields.num == 1)
+ return addConstructor(loc, base, scalarType);
+ else {
+ TType vectorType(base->getBasicType(), EvqTemporary, fields.num);
+ return addConstructor(loc, addConstructor(loc, base, scalarType), vectorType);
+ }
+ }
if (base->getType().getQualifier().isFrontEndConstant())
result = intermediate.foldSwizzle(base, fields, loc);