📄 hwverify.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 + -