struct metrics
{
+ /* Flag to indicate first frame is being processed. */
+ bool first_frame;
+
/* Description of all available peformance counters, counter
* groups, their names and IDs, etc. */
metrics_info_t *info;
metrics->info = info;
+ metrics->first_frame = true;
+
metrics->op = 0;
metrics->timer_begun_id = 0;
glGetQueryObjectui64v (metrics->swap_end_timestamp_id,
GL_QUERY_RESULT, &swap_end_timestamp);
-
- if (frames == 0) {
+
+ if (metrics->first_frame) {
/* Print header */
printf ("# frame: Frame_Number Frame_Time_milliseconds Frame_latency_milliseconds CPU_load GPU_load\n");
+
+ metrics->first_frame = false;
} else {
/* Subtract previous frame's times to get frame times. */
frame_time_ns = subtract_timestamp (swap_end_timestamp,