metrics_op_t
context_get_current_op (void);
-/* Should be called at the end of every function wrapper for a
- * function that ends a frame, (glXSwapBuffers and similar).
+/* This pair of functions can be used to indicate a frame end.
*
- * This function performs whatever bookkeeping is necessary to
- * generate a timing report, then emits that report.
+ * Both functions should be by every function wrapper for a function
+ * that ends a frame, (glXSwapBuffers and similar). The pre_swap
+ * before the call to the underlying swap function, and post_swap
+ * after.
+ *
+ * These functions trigger whatever bookkeeping is necessary to
+ * generate a timing report, (such as collecting any outstanding timer
+ * query values), and will also emit those reports when necessary.
*/
void
-context_end_frame (void);
+context_end_frame_pre_swap (void);
+
+void
+context_end_frame_post_swap (void);
#endif