{
unsigned int unBit;
GLuint export_count = 0;
+ unsigned int i;
if(pR700AsmCode->depth_export_register_number >= 0)
{
}
}
- unBit = 1 << FRAG_RESULT_COLOR;
- if(OutputsWritten & unBit)
- {
- if( GL_FALSE == Process_Export(pR700AsmCode,
- SQ_EXPORT_PIXEL,
- 0,
- 1,
- pR700AsmCode->uiFP_OutputMap[FRAG_RESULT_COLOR],
- GL_FALSE) )
- {
- return GL_FALSE;
- }
- export_count++;
- }
- unBit = 1 << FRAG_RESULT_DEPTH;
- if(OutputsWritten & unBit)
- {
- if( GL_FALSE == Process_Export(pR700AsmCode,
- SQ_EXPORT_PIXEL,
- 0,
- 1,
- pR700AsmCode->uiFP_OutputMap[FRAG_RESULT_DEPTH],
- GL_TRUE))
+ for (i = 0; i < FRAG_RESULT_MAX; ++i)
+ {
+ unBit = 1 << i;
+
+ if (OutputsWritten & unBit)
{
- return GL_FALSE;
+ GLboolean is_depth = i == FRAG_RESULT_DEPTH ? GL_TRUE : GL_FALSE;
+ if (!Process_Export(pR700AsmCode, SQ_EXPORT_PIXEL, 0, 1, pR700AsmCode->uiFP_OutputMap[i], is_depth))
+ return GL_FALSE;
+ ++export_count;
}
- export_count++;
- }
+ }
+
/* Need to export something, otherwise we'll hang
* results are undefined anyway */
if(export_count == 0)