Replace the pixel shader UID generation algorithm with a better one which reduces the number of redundant shader compilations by around 30% (can be optimized even further though).
This should help some games which suffer from heavy stuttering like e.g. F-Zero GX or Red Steel 2.
This commit is contained in:
parent
08e06b2293
commit
7f01139d13
File diff suppressed because it is too large
Load Diff
|
@ -44,7 +44,7 @@
|
|||
#define C_PLIGHTS (C_FOG + 3)
|
||||
#define C_PMATERIALS (C_PLIGHTS + 40)
|
||||
#define C_PENVCONST_END (C_PMATERIALS + 4)
|
||||
#define PIXELSHADERUID_MAX_VALUES (5 + 32 + 6 + 11 + 2)
|
||||
#define PIXELSHADERUID_MAX_VALUES 67
|
||||
|
||||
// DO NOT make anything in this class virtual.
|
||||
class PIXELSHADERUID
|
||||
|
@ -71,7 +71,7 @@ public:
|
|||
|
||||
int GetNumValues() const
|
||||
{
|
||||
return tevstages + indstages + 4;
|
||||
return tevstages;
|
||||
}
|
||||
|
||||
bool operator <(const PIXELSHADERUID& _Right) const
|
||||
|
|
Loading…
Reference in New Issue