📄 utils.h
字号:
/******************************************************************************
<module>
* Name : Utils.h
* Title : Utility function prototypes
* Author(s) : Imagination Technologies
* Created : 2 March 2004
*
* Copyright : 2004 by Imagination Technologies Limited.
* 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 : Prototypes for utility functions
*
* Platform : Windows CE
*
</module>
********************************************************************************/
#if !defined(_UTILS_H_)
#define _UTILS_H_
#define IS_FIXED(x) (x == D3DMFMT_D3DMVALUE_FIXED)
#define VALIDATE_INDEX(x,y) ( y < ((x->psVertexSource->dwSizeDW / x->psVertexSource->dwStrideDW)))
VOID SetUpSupportedD3DMFormatList(D3DMDEVICEFORMAT *psDevFmts);
PVR_DEVFORMAT* GetFormatDescriptorPVR(PVRSRV_PIXEL_FORMAT eFormat);
PVR_DEVFORMAT* GetFormatDescriptorD3DM(LPD3DM_CONTEXT psContext, D3DMFORMAT eFormat);
BOOL ValidatePoolType(D3DMRESOURCETYPE eResourceType, D3DMPOOL ePoolType);
BOOL ValidateLockTarget(D3DMRESOURCETYPE eResourceType, DWORD dwUsage);
VOID GetCurrentModeDetails();
BOOL ValidateNativeDataFormat(D3DMFORMAT eDataFormat);
DWORD GetVertexSizeBytes(DWORD dwFVF);
BOOL ValidateFVF(DWORD dwFVF);
void RoundToTileGranBoundary(LPD3DM_CONTEXT psContext, BOOL bRoundUp, DWORD dwInX, DWORD dwInY,
LPDWORD pdwOutX, LPDWORD pdwOutY, LPDWORD pdwTilesOutX,
LPDWORD pdwTilesOutY);
void RoundToTileBoundary(LPD3DM_CONTEXT psContext, BOOL bRoundUp, DWORD dwInX, DWORD dwInY,
LPDWORD pdwOutX, LPDWORD pdwOutY, LPDWORD pdwTilesOutX,
LPDWORD pdwTilesOutY);
DWORD SetUpAntialias(D3DMMULTISAMPLE_TYPE eAAType, LPD3DM_CONTEXT psContext);
BOOL CompareSurfaces(LPD3DM_SURFACE psSurfA, LPD3DM_SURFACE psSurfB);
DWORD GetTexCoordinateCount(IMG_UINT32 ui32FVFcode, IMG_UINT32 ui32Layer);
IMG_UINT32 ConvertFillColourToHWFormat(D3DMFORMAT eFormat, IMG_UINT32 ui32FillColour);
IMG_BOOL GetFBFormatFromD3DMFormat(D3DMFORMAT eFormat, IMG_UINT32 *pui32FormatOut);
IMG_UINT32 CalcNativeVertexOutputSizeDW(LPD3DM_CONTEXT psContext, PVR_NATIVE_VERTEX *psVertex);
IMG_UINT32 GetRotationAngle();
IMG_UINT32 RotateRects(LPD3DM_CONTEXT psContext,
LPD3DMRECT psNewRects,
LPD3DMRECT psRects,
DWORD dwNumRects,
DWORD dwTargetWidth,
DWORD dwTargetHeight);
IMG_BOOL RotateViewportRect(LPD3DM_CONTEXT psContext,
LPD3DMRECT psNewRect,
LPD3DMRECT psRect,
DWORD dwTargetWidth,
DWORD dwTargetHeight);
IMG_VOID GetRotatedVertex(LPD3DM_CONTEXT psContext,
NTV_TYPE ntvXin,
NTV_TYPE ntvYin,
NTV_TYPE *pntvXout,
NTV_TYPE *pntvYout,
DWORD dwTargetWidth,
DWORD dwTargetHeight,
DWORD dwRotation);
DWORD SetVGPOutputEnables(LPD3DM_CONTEXT psContext, DWORD dwFVF, DWORD *pdwSizeBytes);
IMG_UINT32 GetMBXVersionInfo();
IMG_VOID GetFBStats(IMG_UINT32 *pui32Total, IMG_UINT32 *pui32Available);
_inline void VLSetRect(D3DMRECT *psRect, DWORD dwLeft, DWORD dwTop, DWORD dwRight, DWORD dwBottom)
{
psRect->x1 = dwLeft;
psRect->x2 = dwRight;
psRect->y1 = dwTop;
psRect->y2 = dwBottom;
}
#endif /* #if !defined(_UTILS_H_) */
/*****************************************************************************
End of file (Utils.h)
*****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -