⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mqutils.blt

📁 WinCE 3.0 BSP, 包含Inter SA1110, Intel_815E, Advantech_PCM9574 等
💻 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 + -