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:
parent
cdf69adcb0
commit
b55a4bb087
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue