📄 mqutils.blt
字号:
#ifndef __MQUTILS_H_
#define __MQUTILS_H_
#pragma optimize("", off)
#ifdef CHECK_GE_NOTBUSY
void
MQGC::WaitGENotBusy()
{
while( 1 )
{
if ( !(cpuREAD(DRAW_STATUS) & GE_BUSY) )
return;
}
}
#endif //CHECK_GE_NOTBUSY
#ifdef CHECK_CMDFIFO
void
MQGC::WaitCmdFIFO( ULONG cnt )
{
//OutputDebugStringW(TEXT("WaitCmdFIFO:\r\n"));
ULONG ulStatus;
#ifdef ALWAYS_SET_DEST_STRIDE
if (!(cnt & 0x10))
++cnt;
#endif
while( 1 )
{
//if ( (cpuREAD(DRAW_STATUS) & CMD_FIFO_MASK) >= cnt )
ulStatus = cpuREAD(DRAW_STATUS) & CMD_FIFO_MASK;
if ( ulStatus >= cnt )
return;
}
}
#endif //CHECK_CMDFIFO
#ifdef CHECK_SRCFIFO
void
MQGC::WaitSrcFIFO( ULONG cnt )
{
ULONG ulStatus;
while( 1 )
{
//if ( ((cpuREAD(DRAW_STATUS) & SRC_FIFO_MASK) >> 6) >= cnt )
ulStatus = cpuREAD(DRAW_STATUS) & SRC_FIFO_MASK;
if ( (ulStatus >> 6) >= cnt )
return;
}
}
void
MQGC::WaitSrcFIFO1( ULONG cnt)
{
ULONG ulStatus;
if(cnt <= SRC_FIFO_MAX_DWORDS)
{ // wait for available FIFO count
while( 1 )
{
ulStatus = cpuREAD(DRAW_STATUS) & SRC_FIFO_MASK;
if ( (ulStatus >> 6) >= cnt )
return;
}
}
else
{ // wiat for ge not busy
while( 1 )
{
if ( !(cpuREAD(DRAW_STATUS) & GE_BUSY) )
return;
}
}
}
#endif //CHECK_SRCFIFO
#pragma optimize("", on)
#ifndef USE_MACRO_PUMP_PACKED_SRCFIFO
#ifdef CHECK_SRCFIFO
void
MQGC::PumpPackedSrcFIFO( PBYTE pSrcBits, ULONG ulDWords, ULONG ulExtras,
ULONG ulDWordsTotal, long lSrcStride )
{
MACRO_PUMP_PACKED_SRCFIFO( pSrcBits, ulDWords, ulExtras, ulDWordsTotal,
lSrcStride )
}
void
MQGC::PumpPackedSrcFIFOLookup8BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulDWordsTotal,
long lSrcStride, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP8BPP( pSrcBits, ulDWords, ulExtras,
ulDWordsTotal, lSrcStride, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup16BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulDWordsTotal,
long lSrcStride, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP16BPP( pSrcBits, ulDWords, ulExtras,
ulDWordsTotal, lSrcStride, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup32BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulDWordsTotal,
long lSrcStride, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP32BPP( pSrcBits, ulDWords, ulExtras,
ulDWordsTotal, lSrcStride, pLookup )
}
#else //CHECK_SRCFIFO
void
MQGC::PumpPackedSrcFIFO( PBYTE pSrcBits, ULONG ulDWords, ULONG ulExtras,
long lSrcStride, ULONG height )
{
MACRO_PUMP_PACKED_SRCFIFO( pSrcBits, ulDWords, ulExtras, lSrcStride,
height )
}
void
MQGC::PumpPackedSrcFIFOLookup8BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, long lSrcStride, ULONG height,
PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP8BPP( pSrcBits, ulDWords, ulExtras,
lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup16BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, long lSrcStride, ULONG height,
PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP16BPP( pSrcBits, ulDWords, ulExtras,
lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup32BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, long lSrcStride, ULONG height,
PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP32BPP( pSrcBits, ulDWords, ulExtras,
lSrcStride, height, pLookup )
}
#endif //CHECK_SRCFIFO
void
MQGC::PumpReallyPackedSrcFIFO( PULONG pulSrc, ULONG ulDWordsTotal,
ULONG ulExtras )
{
MACRO_PUMP_REALLY_PACKED_SRCFIFO( pulSrc, ulDWordsTotal, ulExtras )
}
void
MQGC::PumpPackedSrcFIFOLookup2_8BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP2_8BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup2_16BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP2_16BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup2_32BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP2_32BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup4_8BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP4_8BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup4_16BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP4_16BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup4_32BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP4_32BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup8_16BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP8_16BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup8_32BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP8_32BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup16_8BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP16_8BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup16_32BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP16_32BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup24_8P( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP24_8BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup24_16BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP24_16BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup24_32BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP24_32BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup32_8BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP32_8BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
void
MQGC::PumpPackedSrcFIFOLookup32_16BPP( PBYTE pSrcBits, ULONG ulDWords,
ULONG ulExtras, ULONG ulOffset, long lSrcStride,
ULONG height, PULONG pLookup )
{
MACRO_PUMP_PACKED_SRCFIFO_LOOKUP32_16BPP( pSrcBits, ulDWords, ulExtras,
ulOffset, lSrcStride, height, pLookup )
}
#endif //USE_MACRO_PUMP_PACKED_SRCFIFO
#endif //__MQUTILS_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -