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

📄 profile.c

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************
<module>
* Name         : profile.c
* Title        : profile functions
* 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  : profile functions
*
* Platform     : Windows CE
*
</module>
 $Log: profile.c $

********************************************************************************/

#include "context.h"

/* 
	Prim type jump tables.
	Defined outside ENABLE_D3DM_PROFILING as its
	used by a hardware workaround
*/
IMG_UINT32 sPrimLookup[] = 
{				/* PRIM_FILLMODE_POINT * PRIM_FILLMODE_WIREFRAME * PRIM_FILLMODE_SOLID */
/* DUMMY				*/0, 0, 0,
/* D3DMPT_POINTLIST		*/POINTLIST		,POINTLIST		,POINTLIST,
/* D3DMPT_LINELIST		*/LINELIST		,LINELIST		,LINELIST,
/* D3DMPT_LINESTRIP		*/LINESTRIP		,LINESTRIP		,LINESTRIP,
/* D3DMPT_TRIANGLELIST	*/POINTLIST		,TRILISTLINE	,TRIANGLELIST,
/* D3DMPT_TRIANGLESTRIP */POINTLIST		,TRISTRIPLINE	,TRIANGLESTRIP,	
/* D3DMPT_TRIANGLEFAN	*/POINTLIST		,TRIFANLINE		,TRIANGLEFAN
};

IMG_UINT32 sIndexedPrimLookup[] = 
{						/* PRIM_FILLMODE_POINT * PRIM_FILLMODE_WIREFRAME * PRIM_FILLMODE_SOLID */
/* DUMMY				*/0	,0	,0,
/* D3DMPT_POINTLIST		*/INDEXEDPOINTLIST	,INDEXEDPOINTLIST		,INDEXEDPOINTLIST,
/* D3DMPT_LINELIST		*/INDEXEDPOINTLIST	,INDEXEDLINELIST		,INDEXEDLINELIST,
/* D3DMPT_LINESTRIP		*/INDEXEDPOINTLIST	,INDEXEDLINESTRIP		,INDEXEDLINESTRIP,
/* D3DMPT_TRIANGLELIST	*/INDEXEDPOINTLIST	,INDEXEDTRILISTLINE		,INDEXEDTRIANGLELIST,
/* D3DMPT_TRIANGLESTRIP */INDEXEDPOINTLIST	,INDEXEDTRISTRIPLINE	,INDEXEDTRIANGLESTRIP,	
/* D3DMPT_TRIANGLEFAN	*/INDEXEDPOINTLIST	,INDEXEDTRIFANLINE		,INDEXEDTRIANGLEFAN
};

#if defined ENABLE_D3DM_PROFILING

/* Main driver profile */
D3DM_PROFILE sDriverProfile;

static DP_OP_NAME DPOpNames[] = 
{
    { D3DMOP_BEGINSCENE,			"D3DMOP_BEGINSCENE"},
    { D3DMOP_ENDSCENE,				"D3DMOP_ENDSCENE"},
    { D3DMOP_PRESENT,				"D3DMOP_PRESENT"},
									
    { D3DMOP_COPYRECT,				"D3DMOP_COPYRECT"},
    { D3DMOP_CLEAR,					"D3DMOP_CLEAR"},
									
    { D3DMOP_RENDERTARGET,			"D3DMOP_RENDERTARGET"},
    { D3DMOP_RENDERSTATE,			"D3DMOP_RENDERSTATE"},
									
    { D3DMOP_TRANSFORM,				"D3DMOP_TRANSFORM"},
    { D3DMOP_VIEWPORT,				"D3DMOP_VIEWPORT"},
    { D3DMOP_MATERIAL,				"D3DMOP_MATERIAL"},
    { D3DMOP_CREATELIGHT,			"D3DMOP_CREATELIGHT"},
    { D3DMOP_SETLIGHT,				"D3DMOP_SETLIGHT"},
									
    { D3DMOP_TEXTURESTAGESTATE,		"D3DMOP_TEXTURESTAGESTATE"},
									
    { D3DMOP_CREATEPALETTE,			"D3DMOP_CREATEPALETTE"},
    { D3DMOP_SETPALETTE,			"D3DMOP_SETPALETTE"},
    
    { D3DMOP_PROCESSVERTICES,		"D3DMOP_PROCESSVERTICES"},
    { D3DMOP_DRAWPRIMITIVE,			"D3DMOP_DRAWPRIMITIVE"},
    { D3DMOP_DRAWINDEXEDPRIMITIVE,	"D3DMOP_DRAWINDEXEDPRIMITIVE"},

    { D3DMOP_VERTEXBUFFER,			"D3DMOP_VERTEXBUFFER"},
    { D3DMOP_INDEXBUFFER,			"D3DMOP_INDEXBUFFER"},

    { D3DMOP_COLORFILL,				"D3DMOP_COLORFILL"},
    { D3DMOP_STRETCHRECT,			"D3DMOP_STRETCHRECT"}
};

static char *FunctionNames[] = 
{
	"ValidateVertex",
	"CalcRGBColour",
	"DoClipTestAndVPTransform",
	"Hardware3DBlit",
	"Hardware2DBlit",
	"SoftwareBlit",
	"TwiddleCopy",
	"PVRD3DM_GetAdapterInfo",
	"PVRD3DM_ValidateDevice",
	"SetUpNativeVertex",
	"ClipToPlane",
	"FastClipToPlane",
	"DoLineClip",
	"DoPolygonClip",
	"OutputVertices",
	"WriteBackVertices",
	"ProcessVertices",
	"D3DMAcquireTAResources",
	"D3DMReleaseTAResources",
	"D3DMConnectRenderTarget",
	"D3DMDisconnectRenderTarget",
	"D3DMAllocDeviceMem",
	"D3DMFreeDeviceMem",
	"D3DMFlushOpsOnSurface",
	"D3DMFlushAllQueues",
	"D3DMQueueRender",
	"TaStart",
	"TAStop",
	"DoBeginScene",
	"DoMidScene",
	"DoEndScene",
	"FlushGeometryOnSurface",
	"TACSWriteTermDWORD",
	"TACSWriteData",
	"D3DMAcquireFifoSpace"
};

static char *RenderStateNames[] = 
{
    "D3DMRS_FILLMODE",
    "D3DMRS_SHADEMODE",                 
    "D3DMRS_ZWRITEENABLE",              
    "D3DMRS_ALPHATESTENABLE",           
    "D3DMRS_LASTPIXEL",                 
    "D3DMRS_SRCBLEND",                 
    "D3DMRS_DESTBLEND",                 
    "D3DMRS_CULLMODE",                  
    "D3DMRS_ZFUNC",                     
    "D3DMRS_ALPHAREF",                  
    "D3DMRS_ALPHAFUNC",                 
    "D3DMRS_DITHERENABLE",              
    "D3DMRS_ALPHABLENDENABLE",          
    "D3DMRS_FOGENABLE",                 
    "D3DMRS_SPECULARENABLE",            
    "D3DMRS_FOGCOLOR",                  
    "D3DMRS_FOGTABLEMODE",              
    "D3DMRS_FOGSTART",                  
    "D3DMRS_FOGEND",                    
    "D3DMRS_FOGDENSITY",                
    "D3DMRS_DEPTHBIAS",                 
    "D3DMRS_RANGEFOGENABLE",            
    "D3DMRS_STENCILENABLE",             
    "D3DMRS_STENCILFAIL",               
    "D3DMRS_STENCILZFAIL",              
    "D3DMRS_STENCILPASS",               
    "D3DMRS_STENCILFUNC",               
    "D3DMRS_STENCILREF",                
    "D3DMRS_STENCILMASK",               
    "D3DMRS_STENCILWRITEMASK",          
    "D3DMRS_TEXTUREFACTOR",             
	"D3DMRS_TEXTUREPERSPECTIVE",        
    "D3DMRS_WRAP0",                     
    "D3DMRS_WRAP1",                     
    "D3DMRS_WRAP2",                     
    "D3DMRS_WRAP3",                     
    "D3DMRS_CLIPPING",                  
    "D3DMRS_LIGHTING",                  
    "D3DMRS_AMBIENT",                   
    "D3DMRS_FOGVERTEXMODE",             
    "D3DMRS_COLORVERTEX",               
    "D3DMRS_LOCALVIEWER",               
    "D3DMRS_NORMALIZENORMALS",          
    "D3DMRS_DIFFUSEMATERIALSOURCE",     
    "D3DMRS_SPECULARMATERIALSOURCE",    
    "D3DMRS_AMBIENTMATERIALSOURCE",     
    "D3DMRS_COLORWRITEENABLE",          
    "D3DMRS_BLENDOP",                   
    "D3DMRS_ZENABLE",                   
    "D3DMRS_SLOPESCALEDEPTHBIAS"
};

static char *PrimitiveFuncNames[] = 
{
	"TriangleList",
	"LineList",
	"LineStrip",
	"TriangleStrip",
	"TriangleFan",
	"PointList",
	"TriListLine",
	"TriStripLine",
	"TriFanLine",
	"IndexedTriangleList",
	"IndexedTriangleStrip",
	"IndexedTriangleFan",
	"IndexedPointList",
	"IndexedLineList",
	"IndexedLineStrip",
	"IndexedTriListLine",
	"IndexedTriStripLine",
	"IndexedTriFanLine"
};

static char *TextureStageStateNames[] = 
{
    "D3DMTSS_COLOROP",       
    "D3DMTSS_COLORARG1",    
    "D3DMTSS_COLORARG2",     
    "D3DMTSS_ALPHAOP",       
    "D3DMTSS_ALPHAARG1",     
    "D3DMTSS_ALPHAARG2",     
    "D3DMTSS_TEXCOORDINDEX", 
    "D3DMTSS_ADDRESSU",      
    "D3DMTSS_ADDRESSV",      
    "D3DMTSS_BORDERCOLOR",   
    "D3DMTSS_MAGFILTER",     
    "D3DMTSS_MINFILTER",     
    "D3DMTSS_MIPFILTER",     
    "D3DMTSS_MIPMAPLODBIAS", 
    "D3DMTSS_MAXMIPLEVEL",   
    "D3DMTSS_MAXANISOTROPY", 
    "D3DMTSS_TEXTURETRANSFORMFLAGS", 
    "D3DMTSS_ADDRESSW", 
    "D3DMTSS_COLORARG0",
    "D3DMTSS_ALPHAARG0",
    "D3DMTSS_RESULTARG",
    "D3DMTSS_MAXTEXTURESTATES", 
    "D3DMTSS_FORCE_ULONG"
};

/* Output file */
static	FILE *pFile;

/* String conversion */
__inline IMG_VOID AsTString(char *pszString, LPTSTR pszNameBuffer)
{
	ZeroMemory(pszNameBuffer, MAX_PATH);
	mbstowcs(pszNameBuffer, pszString, MAX_PATH);
}

#define SPACES_FOR_NAME 40

__inline IMG_VOID OUTPUT_DEBUG_STRING(LPTSTR pszBuffer)
{

⌨️ 快捷键说明

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