1 | /* Copyright (c) 2001, Stanford University
|
---|
2 | * All rights reserved.
|
---|
3 | *
|
---|
4 | * See the file LICENSE.txt for information on redistributing this software.
|
---|
5 | */
|
---|
6 |
|
---|
7 | #ifndef CR_PERF_H
|
---|
8 | #define CR_PERF_H
|
---|
9 |
|
---|
10 | #ifdef __cplusplus
|
---|
11 | extern "C" {
|
---|
12 | #endif
|
---|
13 |
|
---|
14 |
|
---|
15 | /**
|
---|
16 | * For the performance SPU. Allows application to obtain it's own
|
---|
17 | * statistics, and reset etc.
|
---|
18 | */
|
---|
19 | typedef struct {
|
---|
20 | int count;
|
---|
21 |
|
---|
22 | int v2d, v2f, v2i, v2s;
|
---|
23 | int v2dv, v2fv, v2iv, v2sv;
|
---|
24 | int v3d, v3f, v3i, v3s;
|
---|
25 | int v3dv, v3fv, v3iv, v3sv;
|
---|
26 | int v4d, v4f, v4i, v4s;
|
---|
27 | int v4dv, v4fv, v4iv, v4sv;
|
---|
28 |
|
---|
29 | int ipoints; /**< Interpreted points */
|
---|
30 | int ilines; /**< Interpreted lines */
|
---|
31 | int itris; /**< Interpreted tris */
|
---|
32 | int iquads; /**< Interpreted quads */
|
---|
33 | int ipolygons; /**< Interpreted polygons */
|
---|
34 | } PerfVertex;
|
---|
35 |
|
---|
36 | /**
|
---|
37 | * Primitives data
|
---|
38 | */
|
---|
39 | typedef struct {
|
---|
40 | PerfVertex points;
|
---|
41 | PerfVertex lines;
|
---|
42 | PerfVertex lineloop;
|
---|
43 | PerfVertex linestrip;
|
---|
44 | PerfVertex triangles;
|
---|
45 | PerfVertex tristrip;
|
---|
46 | PerfVertex trifan;
|
---|
47 | PerfVertex quads;
|
---|
48 | PerfVertex quadstrip;
|
---|
49 | PerfVertex polygon;
|
---|
50 | } PerfPrim;
|
---|
51 |
|
---|
52 | typedef struct {
|
---|
53 | int draw_pixels;
|
---|
54 | int read_pixels;
|
---|
55 |
|
---|
56 | int teximage1DBytes; /**< bytes given to glTexImage1D */
|
---|
57 | int teximage2DBytes; /**< bytes given to glTexImage2D */
|
---|
58 | int teximage3DBytes; /**< bytes given to glTexImage3D */
|
---|
59 | int texsubimage1DBytes; /**< bytes given to glTexSubImage1D */
|
---|
60 | int texsubimage2DBytes; /**< bytes given to glTexSubImage2D */
|
---|
61 | int texsubimage3DBytes; /**< bytes given to glTexSubImage3D */
|
---|
62 | int newLists; /**< glNewList calls */
|
---|
63 | int callLists; /**< glCallList(s) calls */
|
---|
64 |
|
---|
65 | PerfVertex *cur_vertex;
|
---|
66 | PerfVertex vertex_snapshot;
|
---|
67 | PerfPrim vertex_data;
|
---|
68 | } PerfData;
|
---|
69 |
|
---|
70 |
|
---|
71 |
|
---|
72 | #ifdef __cplusplus
|
---|
73 | } /* extern "C" */
|
---|
74 | #endif
|
---|
75 |
|
---|
76 | #endif /* CR_PERF_H */
|
---|