Slight optimization in the pixel shader. We are using pow(2.0, X) in place of exp2(X). This can be faster in places that don't optimize a pow to a exp2 in this case.

Notice this from here: http://cgit.freedesktop.org/mesa/mesa/commit/?id=847bc36a38d42967ad6bf0492fe90a4892d9d799
Intel Haswell GPU is 24 cycles for POW and 14 cycles for EXP2.
Maybe other GPUs don't optimize this either. Just be safe.
This commit is contained in:
Ryan Houdek 2014-01-08 16:40:31 -06:00
parent cdf69adcb0
commit b55a4bb087
1 changed files with 4 additions and 4 deletions

View File

@ -1128,10 +1128,10 @@ static const char *tevFogFuncsTable[] =
"", // ?
"", // Linear
"", // ?
"\tfog = 1.0 - pow(2.0, -8.0 * fog);\n", // exp
"\tfog = 1.0 - pow(2.0, -8.0 * fog * fog);\n", // exp2
"\tfog = pow(2.0, -8.0 * (1.0 - fog));\n", // backward exp
"\tfog = 1.0 - fog;\n fog = pow(2.0, -8.0 * fog * fog);\n" // backward exp2
"\tfog = 1.0 - exp2(-8.0 * fog);\n", // exp
"\tfog = 1.0 - exp2(-8.0 * fog * fog);\n", // exp2
"\tfog = exp2(-8.0 * (1.0 - fog));\n", // backward exp
"\tfog = 1.0 - fog;\n fog = exp2(-8.0 * fog * fog);\n" // backward exp2
};
template<class T>