Commit ebec9094 by John Kessenich

GLSL: Fix #1279: refract does not have a double-type eta.

parent a0044f4f
...@@ -285,10 +285,10 @@ void doubles() ...@@ -285,10 +285,10 @@ void doubles()
dvec3v += reflect(dvec3v, dvec3v); dvec3v += reflect(dvec3v, dvec3v);
dvec4v += reflect(dvec4v, dvec4v); dvec4v += reflect(dvec4v, dvec4v);
doublev += refract(doublev, doublev, doublev); doublev += refract(doublev, doublev, 1.3);
dvec2v += refract(dvec2v, dvec2v, doublev); dvec2v += refract(dvec2v, dvec2v, 1.3);
dvec3v += refract(dvec3v, dvec3v, doublev); dvec3v += refract(dvec3v, dvec3v, 1.3);
dvec4v += refract(dvec4v, dvec4v, doublev); dvec4v += refract(dvec4v, dvec4v, 1.3);
dmat2 dmat2v = outerProduct(dvec2v, dvec2v); dmat2 dmat2v = outerProduct(dvec2v, dvec2v);
dmat3 dmat3v = outerProduct(dvec3v, dvec3v); dmat3 dmat3v = outerProduct(dvec3v, dvec3v);
......
...@@ -844,25 +844,29 @@ ERROR: node is still EOpNull! ...@@ -844,25 +844,29 @@ ERROR: node is still EOpNull!
0:288 refract ( global double) 0:288 refract ( global double)
0:288 'doublev' ( temp double) 0:288 'doublev' ( temp double)
0:288 'doublev' ( temp double) 0:288 'doublev' ( temp double)
0:288 'doublev' ( temp double) 0:288 Constant:
0:288 1.300000
0:289 add second child into first child ( temp 2-component vector of double) 0:289 add second child into first child ( temp 2-component vector of double)
0:289 'dvec2v' ( temp 2-component vector of double) 0:289 'dvec2v' ( temp 2-component vector of double)
0:289 refract ( global 2-component vector of double) 0:289 refract ( global 2-component vector of double)
0:289 'dvec2v' ( temp 2-component vector of double) 0:289 'dvec2v' ( temp 2-component vector of double)
0:289 'dvec2v' ( temp 2-component vector of double) 0:289 'dvec2v' ( temp 2-component vector of double)
0:289 'doublev' ( temp double) 0:289 Constant:
0:289 1.300000
0:290 add second child into first child ( temp 3-component vector of double) 0:290 add second child into first child ( temp 3-component vector of double)
0:290 'dvec3v' ( temp 3-component vector of double) 0:290 'dvec3v' ( temp 3-component vector of double)
0:290 refract ( global 3-component vector of double) 0:290 refract ( global 3-component vector of double)
0:290 'dvec3v' ( temp 3-component vector of double) 0:290 'dvec3v' ( temp 3-component vector of double)
0:290 'dvec3v' ( temp 3-component vector of double) 0:290 'dvec3v' ( temp 3-component vector of double)
0:290 'doublev' ( temp double) 0:290 Constant:
0:290 1.300000
0:291 add second child into first child ( temp 4-component vector of double) 0:291 add second child into first child ( temp 4-component vector of double)
0:291 'dvec4v' ( temp 4-component vector of double) 0:291 'dvec4v' ( temp 4-component vector of double)
0:291 refract ( global 4-component vector of double) 0:291 refract ( global 4-component vector of double)
0:291 'dvec4v' ( temp 4-component vector of double) 0:291 'dvec4v' ( temp 4-component vector of double)
0:291 'dvec4v' ( temp 4-component vector of double) 0:291 'dvec4v' ( temp 4-component vector of double)
0:291 'doublev' ( temp double) 0:291 Constant:
0:291 1.300000
0:293 Sequence 0:293 Sequence
0:293 move second child to first child ( temp 2X2 matrix of double) 0:293 move second child to first child ( temp 2X2 matrix of double)
0:293 'dmat2v' ( temp 2X2 matrix of double) 0:293 'dmat2v' ( temp 2X2 matrix of double)
......
...@@ -192,10 +192,10 @@ void doubles() ...@@ -192,10 +192,10 @@ void doubles()
dvec3v += reflect(dvec3v, dvec3v); dvec3v += reflect(dvec3v, dvec3v);
dvec4v += reflect(dvec4v, dvec4v); dvec4v += reflect(dvec4v, dvec4v);
doublev += refract(doublev, doublev, doublev); doublev += refract(doublev, doublev, 1.3);
dvec2v += refract(dvec2v, dvec2v, doublev); dvec2v += refract(dvec2v, dvec2v, 1.3);
dvec3v += refract(dvec3v, dvec3v, doublev); dvec3v += refract(dvec3v, dvec3v, 1.3);
dvec4v += refract(dvec4v, dvec4v, doublev); dvec4v += refract(dvec4v, dvec4v, 1.3);
dmat2 dmat2v = outerProduct(dvec2v, dvec2v); dmat2 dmat2v = outerProduct(dvec2v, dvec2v);
dmat3 dmat3v = outerProduct(dvec3v, dvec3v); dmat3 dmat3v = outerProduct(dvec3v, dvec3v);
......
...@@ -204,7 +204,7 @@ void builtinGeometryFuncs() ...@@ -204,7 +204,7 @@ void builtinGeometryFuncs()
{ {
float64_t f64; float64_t f64;
f64vec3 f64v1, f64v2, f64v3; f64vec3 f64v1, f64v2, f64v3;
float f;
f64 = length(f64v1); f64 = length(f64v1);
f64 = distance(f64v1, f64v2); f64 = distance(f64v1, f64v2);
f64 = dot(f64v1, f64v2); f64 = dot(f64v1, f64v2);
...@@ -212,7 +212,7 @@ void builtinGeometryFuncs() ...@@ -212,7 +212,7 @@ void builtinGeometryFuncs()
f64v2 = normalize(f64v1); f64v2 = normalize(f64v1);
f64v3 = faceforward(f64v1, f64v2, f64v3); f64v3 = faceforward(f64v1, f64v2, f64v3);
f64v3 = reflect(f64v1, f64v2); f64v3 = reflect(f64v1, f64v2);
f64v3 = refract(f64v1, f64v2, f64); f64v3 = refract(f64v1, f64v2, f);
} }
void builtinMatrixFuncs() void builtinMatrixFuncs()
......
...@@ -603,10 +603,10 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV ...@@ -603,10 +603,10 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"dvec3 reflect(dvec3 , dvec3 );" "dvec3 reflect(dvec3 , dvec3 );"
"dvec4 reflect(dvec4 , dvec4 );" "dvec4 reflect(dvec4 , dvec4 );"
"double refract(double, double, double);" "double refract(double, double, float);"
"dvec2 refract(dvec2 , dvec2 , double);" "dvec2 refract(dvec2 , dvec2 , float);"
"dvec3 refract(dvec3 , dvec3 , double);" "dvec3 refract(dvec3 , dvec3 , float);"
"dvec4 refract(dvec4 , dvec4 , double);" "dvec4 refract(dvec4 , dvec4 , float);"
"dmat2 matrixCompMult(dmat2, dmat2);" "dmat2 matrixCompMult(dmat2, dmat2);"
"dmat3 matrixCompMult(dmat3, dmat3);" "dmat3 matrixCompMult(dmat3, dmat3);"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment