Did clean up of indirect texture look up and fixed some bugs related to indirect unit.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2954 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
donkopunchstania
2009-04-11 07:05:57 +00:00
parent c43b1c18e5
commit 2b2c2afa3c
2 changed files with 24 additions and 31 deletions

View File

@ -40,28 +40,29 @@
#define C_ENVCONST_END (C_FOG+2)
#define C_COLORMATRIX (C_FOG+2)
#define PIXELSHADERUID_MAX_VALUES (5+32+6+11)
class PIXELSHADERUID
{
public:
u32 values[5+32+6+11];
u32 values[PIXELSHADERUID_MAX_VALUES];
u16 tevstages, indstages;
PIXELSHADERUID() {
memset(values, 0, (5+32+6+11) * 4);
memset(values, 0, PIXELSHADERUID_MAX_VALUES * 4);
tevstages = indstages = 0;
}
PIXELSHADERUID(const PIXELSHADERUID& r)
{
tevstages = r.tevstages;
indstages = r.indstages;
int N = tevstages + indstages + 4;
_assert_(N <= 5+32+6+11);
int N = GetNumValues();
_assert_(N <= PIXELSHADERUID_MAX_VALUES);
for (int i = 0; i < N; ++i)
values[i] = r.values[i];
}
int GetNumValues() const {
return tevstages + indstages + 3; // numTevStages*3/2+1
return tevstages + indstages + 4;
}
bool operator <(const PIXELSHADERUID& _Right) const
{