/* Copyright (c) 2001, Stanford University * All rights reserved. * * See the file LICENSE.txt for information on redistributing this software. */ #ifndef CR_PERF_H #define CR_PERF_H #ifdef __cplusplus extern "C" { #endif /** * For the performance SPU. Allows application to obtain it's own * statistics, and reset etc. */ typedef struct { int count; int v2d, v2f, v2i, v2s; int v2dv, v2fv, v2iv, v2sv; int v3d, v3f, v3i, v3s; int v3dv, v3fv, v3iv, v3sv; int v4d, v4f, v4i, v4s; int v4dv, v4fv, v4iv, v4sv; int ipoints; /**< Interpreted points */ int ilines; /**< Interpreted lines */ int itris; /**< Interpreted tris */ int iquads; /**< Interpreted quads */ int ipolygons; /**< Interpreted polygons */ } PerfVertex; /** * Primitives data */ typedef struct { PerfVertex points; PerfVertex lines; PerfVertex lineloop; PerfVertex linestrip; PerfVertex triangles; PerfVertex tristrip; PerfVertex trifan; PerfVertex quads; PerfVertex quadstrip; PerfVertex polygon; } PerfPrim; typedef struct { int draw_pixels; int read_pixels; int teximage1DBytes; /**< bytes given to glTexImage1D */ int teximage2DBytes; /**< bytes given to glTexImage2D */ int teximage3DBytes; /**< bytes given to glTexImage3D */ int texsubimage1DBytes; /**< bytes given to glTexSubImage1D */ int texsubimage2DBytes; /**< bytes given to glTexSubImage2D */ int texsubimage3DBytes; /**< bytes given to glTexSubImage3D */ int newLists; /**< glNewList calls */ int callLists; /**< glCallList(s) calls */ PerfVertex *cur_vertex; PerfVertex vertex_snapshot; PerfPrim vertex_data; } PerfData; #ifdef __cplusplus } /* extern "C" */ #endif #endif /* CR_PERF_H */