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

📄 hwverify.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 H
字号:
/***************************************************************************
 * Name        : hwverify.h
 * Title       : MBX WinCE driver GPE class header
 * Author(s)   : Imagination Technologies
 * Created	   : 12th February 2003
 *
 * Copyright   : 2003 by Imagination Technologies. All rights reserved.
 *             : No part of this software, either material or conceptual 
 *             : may be copied or distributed, transmitted, transcribed,
 *             : stored in a retrieval system or translated into any 
 *             : human or computer language in any form by any means,
 *             : electronic, mechanical, manual or other-wise, or 
 *             : disclosed to third parties without the express written
 *             : permission of Imagination Technologies Limited, Unit 8,
 *             : HomePark Industrial Estate, King's Langley, Hertfordshire,
 *             : WD4 8LZ, U.K.
 *
 * Description : MBX WinCE driver GPE class.
 *
 * Platform    : WinCE
 *
 * Modifications:-
 * $Log: hwverify.h $
 *
 *  --- Revision Logs Removed --- 
 *
 *  --- Revision Logs Removed --- 
 *
 ****************************************************************************/

#pragma once

#include "drvescape.h"

typedef enum {VERDST_RECT, VERDST_RECT_PLUS, VERDST_ALL} VERDST;


#define MAX_HWV_RECTS	25

typedef struct _bufinfo
{
	ULONG	ulIdx;			/* Index of (striped)buffer */
	ULONG	ulWidth;		/* pixels */
	ULONG	ulHeight;		/* pixels */
	ULONG	ulStride;		/* +ve, Bytes */
	PVOID	pvLinAddr;		/* linear address of buffer */
	ULONG	ulPhysBase;		/* Phys address of buffer */
} BUFINFO, *PBUFINFO;


class CHWVerify
{
protected:
	BOOL		m_bEnabled;
	BOOL		m_bPDumpFailures;
	BOOL		m_bUnattendedMode;
	VERDST		m_eVerDst;
	ULONG		m_ulVerifyedBlts;
	ULONG		m_ulAccelerated;
	ULONG		m_ulNoDestCopy;
	BOOL		m_bInit;
	ULONG		m_ulDstCopySize;
	ULONG		m_ulHwVerifyFailureCo;
	PVOID		m_pvDestSwCopy;
	PVOID		m_pvDestPDumpCopy;
	RECT		m_sVerifyRgn;
	BOOL		m_bExtendTop;
	BOOL		m_bExtendBottom;
	BOOL		m_bExtendLeft;
	BOOL		m_bExtendRight;
	BOOL		m_bPDumpingOn;
	INT			m_nClipIndex;
	INT			m_nClipRectCount;
	INT			m_nBufInfoIndex;
	RECT		m_prclClip[MAX_HWV_RECTS];
	BUFINFO		m_VidBuffInfo[MAX_HWV_RECTS + 1];

	PPALINFO	m_psPalInfo;

	TCHAR		m_tszHWVerPath[128];
	CHAR		m_szLDBList[64*4];

	PBYTE		m_pbyDstPtr;
	ULONG		m_ulVidMemPhysBase;

	/* Rotation params */
	LONG		m_lDestAngle;
	LONG		m_lDstWidth;		/* Logical */
	LONG		m_lDstHeight;
	LONG		m_lDstWidthRotated;	/* Physical */
	LONG		m_lDstHeightRotated;

private:
	void		PrintSurfaceDetails(PTCHAR pszSurfName, GPESurf *psSurface, PRECT psRect, BOOL bGenBmp, EGPEFormat eDstFmt, PULONG pulPalette);
	void		RotateRegion(PRECT psRegion, LONG lBitmapHeight, LONG lBitmapWidth);

public:
	CHWVerify();

	BOOL		m_bForceFail;

	void		EnableHwVerForMode(ULONG ulPriSurfSize);
	void		DisableHwVerForMode (void);
	BOOL		PrepareToPDumpThisBlt ();

	BOOL		MakeVerifyRect        (GPEBltParms *psParms, LONG lDestRotation);
	BOOL		VerifyHW              (GPEBltParms *psParms);
	BOOL		PrepareForSWBlt       (GPEBltParms *psParms);
	BOOL		RestoreForHWBlt       (GPEBltParms *psParms);
	BOOL		IsVerifyEnabled ();
	void		UpdateClipRegions (PRECT prclClip);
	void		UpdateStripeBufInfo (PBUFINFO psVidBufInfo);
	void		UpdateMaskBufInfo (PBUFINFO psVidBufInfo);
	void		UpdatePaletteAddr (PPALINFO psPalInfo);
	void		DrvEscapeHWVerify(PDRVESC_HWVERIFY_PARAMS psHwVerIn, PDRVESC_HWVERIFY_PARAMS psHwVerOut);
	void		Enable(BOOL bPDumpFailures, BOOL bUnattendedMode, VERDST eVerDst);
	void		Disable();
	void		Enable();
	void		BuildPrmFile(GPEBltParms *psParms);
	void		AppendBM(PCHAR pszCaption, HANDLE hFile, ULONG *pulImagePos, MBXSurf *psSurface, PRECT psRect);
	void		AppendVidMem(PCHAR pszCaption, HANDLE hFile, ULONG *pulImagePos, VOID *pvMem, ULONG ulPhyMem, ULONG ulSize);

};


/********************************** end of file ******************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -