4 extern const char *r_stat_name[];
6 // NOTE: r_stat_name[] must match this indexing
13 r_stat_entities_surfaces,
14 r_stat_entities_triangles,
17 r_stat_world_surfaces,
18 r_stat_world_triangles,
19 r_stat_lightmapupdates,
20 r_stat_lightmapupdatepixels,
25 r_stat_draws_vertices,
26 r_stat_draws_elements,
29 r_stat_lights_scissored,
30 r_stat_lights_lighttriangles,
31 r_stat_lights_shadowtriangles,
32 r_stat_lights_dynamicshadowtriangles,
33 r_stat_bouncegrid_lights,
34 r_stat_bouncegrid_particles,
35 r_stat_bouncegrid_traces,
36 r_stat_bouncegrid_hits,
37 r_stat_bouncegrid_splats,
38 r_stat_bouncegrid_bounces,
39 r_stat_photoncache_animated,
40 r_stat_photoncache_cached,
41 r_stat_photoncache_traced,
43 r_stat_bloom_copypixels,
44 r_stat_bloom_drawpixels,
45 r_stat_rendertargets_used,
46 r_stat_rendertargets_pixels,
47 r_stat_indexbufferuploadcount,
48 r_stat_indexbufferuploadsize,
49 r_stat_vertexbufferuploadcount,
50 r_stat_vertexbufferuploadsize,
51 r_stat_framedatacurrent,
53 r_stat_bufferdatacurrent_vertex, // R_BUFFERDATA_ types are added to this index
54 r_stat_bufferdatacurrent_index16,
55 r_stat_bufferdatacurrent_index32,
56 r_stat_bufferdatacurrent_uniform,
57 r_stat_bufferdatasize_vertex, // R_BUFFERDATA_ types are added to this index
58 r_stat_bufferdatasize_index16,
59 r_stat_bufferdatasize_index32,
60 r_stat_bufferdatasize_uniform,
61 r_stat_animcache_skeletal_count,
62 r_stat_animcache_skeletal_bones,
63 r_stat_animcache_skeletal_maxbones,
64 r_stat_animcache_shade_count,
65 r_stat_animcache_shade_vertices,
66 r_stat_animcache_shade_maxvertices,
67 r_stat_animcache_shape_count,
68 r_stat_animcache_shape_vertices,
69 r_stat_animcache_shape_maxvertices,
71 r_stat_batch_withgaps,
72 r_stat_batch_surfaces,
73 r_stat_batch_vertices,
74 r_stat_batch_triangles,
75 r_stat_batch_fast_batches,
76 r_stat_batch_fast_surfaces,
77 r_stat_batch_fast_vertices,
78 r_stat_batch_fast_triangles,
79 r_stat_batch_copytriangles_batches,
80 r_stat_batch_copytriangles_surfaces,
81 r_stat_batch_copytriangles_vertices,
82 r_stat_batch_copytriangles_triangles,
83 r_stat_batch_dynamic_batches,
84 r_stat_batch_dynamic_surfaces,
85 r_stat_batch_dynamic_vertices,
86 r_stat_batch_dynamic_triangles,
87 r_stat_batch_dynamicskeletal_batches,
88 r_stat_batch_dynamicskeletal_surfaces,
89 r_stat_batch_dynamicskeletal_vertices,
90 r_stat_batch_dynamicskeletal_triangles,
91 r_stat_batch_dynamic_batches_because_cvar,
92 r_stat_batch_dynamic_surfaces_because_cvar,
93 r_stat_batch_dynamic_vertices_because_cvar,
94 r_stat_batch_dynamic_triangles_because_cvar,
95 r_stat_batch_dynamic_batches_because_lightmapvertex,
96 r_stat_batch_dynamic_surfaces_because_lightmapvertex,
97 r_stat_batch_dynamic_vertices_because_lightmapvertex,
98 r_stat_batch_dynamic_triangles_because_lightmapvertex,
99 r_stat_batch_dynamic_batches_because_deformvertexes_autosprite,
100 r_stat_batch_dynamic_surfaces_because_deformvertexes_autosprite,
101 r_stat_batch_dynamic_vertices_because_deformvertexes_autosprite,
102 r_stat_batch_dynamic_triangles_because_deformvertexes_autosprite,
103 r_stat_batch_dynamic_batches_because_deformvertexes_autosprite2,
104 r_stat_batch_dynamic_surfaces_because_deformvertexes_autosprite2,
105 r_stat_batch_dynamic_vertices_because_deformvertexes_autosprite2,
106 r_stat_batch_dynamic_triangles_because_deformvertexes_autosprite2,
107 r_stat_batch_dynamic_batches_because_deformvertexes_normal,
108 r_stat_batch_dynamic_surfaces_because_deformvertexes_normal,
109 r_stat_batch_dynamic_vertices_because_deformvertexes_normal,
110 r_stat_batch_dynamic_triangles_because_deformvertexes_normal,
111 r_stat_batch_dynamic_batches_because_deformvertexes_wave,
112 r_stat_batch_dynamic_surfaces_because_deformvertexes_wave,
113 r_stat_batch_dynamic_vertices_because_deformvertexes_wave,
114 r_stat_batch_dynamic_triangles_because_deformvertexes_wave,
115 r_stat_batch_dynamic_batches_because_deformvertexes_bulge,
116 r_stat_batch_dynamic_surfaces_because_deformvertexes_bulge,
117 r_stat_batch_dynamic_vertices_because_deformvertexes_bulge,
118 r_stat_batch_dynamic_triangles_because_deformvertexes_bulge,
119 r_stat_batch_dynamic_batches_because_deformvertexes_move,
120 r_stat_batch_dynamic_surfaces_because_deformvertexes_move,
121 r_stat_batch_dynamic_vertices_because_deformvertexes_move,
122 r_stat_batch_dynamic_triangles_because_deformvertexes_move,
123 r_stat_batch_dynamic_batches_because_tcgen_lightmap,
124 r_stat_batch_dynamic_surfaces_because_tcgen_lightmap,
125 r_stat_batch_dynamic_vertices_because_tcgen_lightmap,
126 r_stat_batch_dynamic_triangles_because_tcgen_lightmap,
127 r_stat_batch_dynamic_batches_because_tcgen_vector,
128 r_stat_batch_dynamic_surfaces_because_tcgen_vector,
129 r_stat_batch_dynamic_vertices_because_tcgen_vector,
130 r_stat_batch_dynamic_triangles_because_tcgen_vector,
131 r_stat_batch_dynamic_batches_because_tcgen_environment,
132 r_stat_batch_dynamic_surfaces_because_tcgen_environment,
133 r_stat_batch_dynamic_vertices_because_tcgen_environment,
134 r_stat_batch_dynamic_triangles_because_tcgen_environment,
135 r_stat_batch_dynamic_batches_because_tcmod_turbulent,
136 r_stat_batch_dynamic_surfaces_because_tcmod_turbulent,
137 r_stat_batch_dynamic_vertices_because_tcmod_turbulent,
138 r_stat_batch_dynamic_triangles_because_tcmod_turbulent,
139 r_stat_batch_dynamic_batches_because_nogaps,
140 r_stat_batch_dynamic_surfaces_because_nogaps,
141 r_stat_batch_dynamic_vertices_because_nogaps,
142 r_stat_batch_dynamic_triangles_because_nogaps,
143 r_stat_batch_dynamic_batches_because_derived,
144 r_stat_batch_dynamic_surfaces_because_derived,
145 r_stat_batch_dynamic_vertices_because_derived,
146 r_stat_batch_dynamic_triangles_because_derived,
147 r_stat_batch_entitycache_count,
148 r_stat_batch_entitycache_surfaces,
149 r_stat_batch_entitycache_vertices,
150 r_stat_batch_entitycache_triangles,
151 r_stat_batch_entityanimate_count,
152 r_stat_batch_entityanimate_surfaces,
153 r_stat_batch_entityanimate_vertices,
154 r_stat_batch_entityanimate_triangles,
155 r_stat_batch_entityskeletal_count,
156 r_stat_batch_entityskeletal_surfaces,
157 r_stat_batch_entityskeletal_vertices,
158 r_stat_batch_entityskeletal_triangles,
159 r_stat_batch_entitystatic_count,
160 r_stat_batch_entitystatic_surfaces,
161 r_stat_batch_entitystatic_vertices,
162 r_stat_batch_entitystatic_triangles,
163 r_stat_batch_entitycustom_count,
164 r_stat_batch_entitycustom_surfaces,
165 r_stat_batch_entitycustom_vertices,
166 r_stat_batch_entitycustom_triangles,
167 r_stat_count // size of array
171 extern cvar_t r_speeds_graph;
172 extern cvar_t r_speeds_graph_filter[8];
173 extern cvar_t r_speeds_graph_length;
174 extern cvar_t r_speeds_graph_seconds;
175 extern cvar_t r_speeds_graph_x;
176 extern cvar_t r_speeds_graph_y;
177 extern cvar_t r_speeds_graph_width;
178 extern cvar_t r_speeds_graph_height;
179 extern cvar_t r_speeds_graph_maxtimedelta;
180 extern cvar_t r_speeds_graph_maxdefault;
182 void R_TimeReport(const char *name);
183 void R_TimeReport_BeginFrame(void);
184 void R_TimeReport_EndFrame(void);