r600 : change shader pop method for now.

This commit is contained in:
Richard Li 2009-11-19 16:55:16 -05:00
parent 49b3f4a6bc
commit 48dfd3938e

View file

@ -39,7 +39,7 @@
#include "r700_assembler.h"
#define USE_CF_FOR_CONTINUE_BREAK 1
#define USE_CF_FOR_POP_AFTER 1
//#define USE_CF_FOR_POP_AFTER 1
BITS addrmode_PVSDST(PVSDST * pPVSDST)
{
@ -4983,30 +4983,30 @@ GLboolean assemble_EXPORT(r700_AssemblerBase *pAsm)
inline void checkStackDepth(r700_AssemblerBase *pAsm, GLuint uReason)
{
switch (uReason)
{
case FC_PUSH_VPM:
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.pushs++;
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.current++;
break;
case FC_PUSH_WQM:
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.pushs++;
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.current += 4;
break;
case FC_LOOP:
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.pushs += 4;
break;
case FC_REP:
/* TODO : for 16 vp asic, should += 2; */
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.pushs += 1;
break;
};
if(pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.pushs
> pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.max)
{
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.max =
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.pushs;
switch (uReason)
{
case FC_PUSH_VPM:
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.pushs++;
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.current++;
break;
case FC_PUSH_WQM:
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.pushs++;
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.current += 4;
break;
case FC_LOOP:
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.pushs += 4;
break;
case FC_REP:
/* TODO : for 16 vp asic, should += 2; */
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.pushs += 1;
break;
};
if(pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.pushs
> pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.max)
{
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.max =
pAsm->CALLSTACK[pAsm->CALLSP].stackUsage.su.pushs;
}
}
@ -5657,8 +5657,8 @@ GLboolean testFlag(r700_AssemblerBase *pAsm)
{
return GL_FALSE;
}
#endif
#endif
checkStackDepth(pAsm, FC_PUSH_VPM);
return GL_TRUE;