📄 profile.h
字号:
/**************************************************************************
* Name : profile.h
* Author : Vlad Stamate
* Created : 20/01/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.
*
* Platform : ANSI
*
* $Date: 2004/10/11 10:27:06 $
* $Log: profile.h $
*
**************************************************************************/
#ifndef _PROFILE_H_
#define _PROFILE_H_
#include "drvgl.h" /* For define of GL_TRIANGLE_FAN */
#if defined (__cplusplus)
extern "C" {
#endif
#define DRAW_ARRAYS 0
#define DRAW_ELEMENTS 1
#if defined (TIMING) || defined (DEBUG)
typedef struct
{
IMG_UINT32 CallCount[GL_TRIANGLE_FAN+1];
IMG_UINT32 VertexCount[GL_TRIANGLE_FAN+1];
}DrawCallData;
typedef struct StateMetricDataRec
{
IMG_UINT32 ui32Count;
IMG_UINT32 ui32RasterEnables;
IMG_UINT32 ui32TnLEnables;
IMG_UINT32 ui32IgnoredEnables;
IMG_UINT32 ui32FrameEnables;
struct StateMetricDataRec *next;
struct StateMetricDataRec *previous;
}StateMetricData;
#define PROFILE_GL_BLEND 0
#define PROFILE_GL_ALPHA_TEST 1
#define PROFILE_GL_COLOR_LOGIC_OP 2
#define PROFILE_GL_TEXTURE_2D 3
#define PROFILE_GL_DEPTH_TEST 5
#define PROFILE_GL_POLYGON_OFFSET_FILL 6
#define PROFILE_GL_CULL_FACE 7
#define PROFILE_GL_FOG 8
#define PROFILE_GL_DITHER 0
#define PROFILE_GL_MULTISAMPLE 1
#define PROFILE_GL_SCISSOR_TEST 2
#define PROFILE_GL_LIGHT0 0
#define PROFILE_GL_LIGHT1 1
#define PROFILE_GL_LIGHT2 2
#define PROFILE_GL_LIGHT3 3
#define PROFILE_GL_LIGHT4 4
#define PROFILE_GL_LIGHT5 5
#define PROFILE_GL_LIGHT6 6
#define PROFILE_GL_LIGHT7 7
#define PROFILE_GL_LIGHTING 8
#define PROFILE_GL_RESCALE_NORMAL 9
#define PROFILE_GL_COLOR_MATERIAL 10
#define PROFILE_GL_NORMALIZE 11
#define PROFILE_GL_SAMPLE_ALPHA_TO_COVERAGE 0
#define PROFILE_GL_SAMPLE_ALPHA_TO_ONE 1
#define PROFILE_GL_SAMPLE_COVERAGE 2
#define PROFILE_GL_STENCIL_TEST 3
#define PROFILE_GL_LINE_SMOOTH 4
#define PROFILE_GL_POINT_SMOOTH 5
#define PROFILE_GL_VERTEX_ARRAY 0
#define PROFILE_GL_NORMAL_ARRAY 1
#define PROFILE_GL_COLOR_ARRAY 2
#define PROFILE_GL_TEXTURE_COORD_ARRAY 3
#define GLES_PROFILE_INCREMENT_CALLCOUNT(X,Y) {\
if(GLES_CHECK_BETWEEN_START_END_FRAME) \
gc->sDrawCall[X].CallCount[Y]++; \
}
#define GLES_PROFILE_INCREMENT_VERTEXCOUNT(X,Y,Z) {\
if(GLES_CHECK_BETWEEN_START_END_FRAME) \
gc->sDrawCall[X].VertexCount[Y]+=Z; \
}
#define GLES_PROFILE_ADD_METRIC {\
if(GLES_CHECK_BETWEEN_START_END_FRAME) \
if (gc->sAppHints.bDumpProfileData) \
{ \
AddToStateMetric(gc); \
} \
}
#define GLES_PROFILE_ADD_REDUNTANT_STATE(X,Y,Z,W) {\
if(X == Y)\
gc->RedundantStates##W[PROFILE_##Z]++; \
}
IMG_VOID InitProfileData(GLESContext *gc);
IMG_VOID ProfileOutputTotals(GLESContext *gc);
IMG_VOID AddToStateMetric(GLESContext *gc);
#else /* defined (TIMING) || defined (DEBUG) */
#define GLES_PROFILE_INCREMENT_CALLCOUNT(X,Y)
#define GLES_PROFILE_INCREMENT_VERTEXCOUNT(X,Y,Z)
#define GLES_PROFILE_ADD_METRIC
#define GLES_PROFILE_ADD_REDUNTANT_STATE(X,Y,Z,W)
#endif /* defined (TIMING) || defined (DEBUG) */
#if defined(__cplusplus)
}
#endif
#endif /* _PROFILE_H_ */
/**************************************************************************
End of file (profile.h)
**************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -