Commit 2a805d9c by John Kessenich

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

This reverts commit ebec9094. Khronos decided glslang was originally correct, and the specifications are incorrect.
parent bea08fe0
...@@ -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, 1.3); doublev += refract(doublev, doublev, doublev);
dvec2v += refract(dvec2v, dvec2v, 1.3); dvec2v += refract(dvec2v, dvec2v, doublev);
dvec3v += refract(dvec3v, dvec3v, 1.3); dvec3v += refract(dvec3v, dvec3v, doublev);
dvec4v += refract(dvec4v, dvec4v, 1.3); dvec4v += refract(dvec4v, dvec4v, doublev);
dmat2 dmat2v = outerProduct(dvec2v, dvec2v); dmat2 dmat2v = outerProduct(dvec2v, dvec2v);
dmat3 dmat3v = outerProduct(dvec3v, dvec3v); dmat3 dmat3v = outerProduct(dvec3v, dvec3v);
...@@ -300,9 +300,9 @@ void doubles() ...@@ -300,9 +300,9 @@ void doubles()
dmat3x4 dmat3x4v = outerProduct(dvec4v, dvec3v); dmat3x4 dmat3x4v = outerProduct(dvec4v, dvec3v);
dmat4x3 dmat4x3v = outerProduct(dvec3v, dvec4v); dmat4x3 dmat4x3v = outerProduct(dvec3v, dvec4v);
dmat2v *= matrixCompMult(dmat2v, dmat2v); dmat2v *= matrixCompMult(dmat2v, dmat2v);
dmat3v *= matrixCompMult(dmat3v, dmat3v); dmat3v *= matrixCompMult(dmat3v, dmat3v);
dmat4v *= matrixCompMult(dmat4v, dmat4v); dmat4v *= matrixCompMult(dmat4v, dmat4v);
dmat2x3v = matrixCompMult(dmat2x3v, dmat2x3v); dmat2x3v = matrixCompMult(dmat2x3v, dmat2x3v);
dmat2x4v = matrixCompMult(dmat2x4v, dmat2x4v); dmat2x4v = matrixCompMult(dmat2x4v, dmat2x4v);
dmat3x2v = matrixCompMult(dmat3x2v, dmat3x2v); dmat3x2v = matrixCompMult(dmat3x2v, dmat3x2v);
......
...@@ -844,29 +844,25 @@ ERROR: node is still EOpNull! ...@@ -844,29 +844,25 @@ 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 Constant: 0:288 'doublev' ( temp double)
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 Constant: 0:289 'doublev' ( temp double)
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 Constant: 0:290 'doublev' ( temp double)
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 Constant: 0:291 'doublev' ( temp double)
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, 1.3); doublev += refract(doublev, doublev, doublev);
dvec2v += refract(dvec2v, dvec2v, 1.3); dvec2v += refract(dvec2v, dvec2v, doublev);
dvec3v += refract(dvec3v, dvec3v, 1.3); dvec3v += refract(dvec3v, dvec3v, doublev);
dvec4v += refract(dvec4v, dvec4v, 1.3); dvec4v += refract(dvec4v, dvec4v, doublev);
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, f); f64v3 = refract(f64v1, f64v2, f64);
} }
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, float);" "double refract(double, double, double);"
"dvec2 refract(dvec2 , dvec2 , float);" "dvec2 refract(dvec2 , dvec2 , double);"
"dvec3 refract(dvec3 , dvec3 , float);" "dvec3 refract(dvec3 , dvec3 , double);"
"dvec4 refract(dvec4 , dvec4 , float);" "dvec4 refract(dvec4 , dvec4 , double);"
"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