]> git.cworth.org Git - fips/blobdiff - context.h
Remove the context_get_current function
[fips] / context.h
index 1fddf2e93e289d825b56ad157322563302e7e811..071b5f41826976018d0deadecbf81973a2c675da 100644 (file)
--- a/context.h
+++ b/context.h
@@ -53,8 +53,46 @@ context_enter (fips_api_t api, void *system_context_id);
 void
 context_leave (void);
 
-/* Get the current context. */
-context_t *
-context_get_current (void);
+/* Start accumulating GPU time.
+ *
+ * The time accumulated will be accounted against the
+ * current operation (as set with context_set_current_op).
+ */
+void
+context_counter_start (void);
+
+/* Stop accumulating GPU time (stops the most-recently started counter) */
+void
+context_counter_stop (void);
+
+/* Set a metrics_op_t value to indicate what kind of operation is
+ * being performed.
+ *
+ * The metrics-tracking code will account for timings by accumulating
+ * measured counter values into a separate counter for each
+ * metrics_op_t value, (so that the report can describe which
+ * operations are the most expensive).
+ *
+ * In addition, for the value METRICS_OP_SHADER, each specific shader
+ * program can be distinguished. To accomplish this, pass a value of
+ * METRICS_OP_SHADER + shader_program_number to this function.
+ */
+void
+context_set_current_op (metrics_op_t op);
+
+/* Return the current metrics_op_t value, (the value most-recently-set
+ * with a call to context_set_current_op).
+ */
+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 function performs whatever bookkeeping is necessary to
+ * generate a timing report, then emits that report.
+ */
+void
+context_end_frame (void);
 
 #endif