]> git.cworth.org Git - fips/blobdiff - context.c
Make definition of context_t private to context.c
[fips] / context.c
index ccaa96a3bd4c13d20cfa181dbaf3c2c9656cf6d8..133c37c168d6b04016579cbf3ccbd3938f11e241 100644 (file)
--- a/context.c
+++ b/context.c
 #include "metrics.h"
 #include "xmalloc.h"
 
+typedef struct context
+{
+       /* Pointer to the system's context ID, (such as a GLXContext) */
+       void *system_id;
+
+       metrics_info_t metrics_info;
+       metrics_t *metrics;
+} context_t;
+
 context_t *current_context;
 
 static context_t *
@@ -61,8 +70,9 @@ context_enter (fips_api_t api, void *system_context_id)
 
        current_context = context_create (api, system_context_id);
 
-       metrics_set_current_op (METRICS_OP_SHADER + 0);
-       metrics_counter_start ();
+       metrics_set_current_op (current_context->metrics,
+                               METRICS_OP_SHADER + 0);
+       metrics_counter_start (current_context->metrics);
 }
 
 void
@@ -76,8 +86,32 @@ context_leave (void)
        metrics_destroy (ctx->metrics);
 }
 
-context_t *
-context_get_current (void)
+void
+context_counter_start (void)
+{
+       metrics_counter_start (current_context->metrics);
+}
+
+void
+context_counter_stop (void)
+{
+       metrics_counter_stop (current_context->metrics);
+}
+
+void
+context_set_current_op (metrics_op_t op)
+{
+       metrics_set_current_op (current_context->metrics, op);
+}
+
+metrics_op_t
+context_get_current_op (void)
+{
+       return metrics_get_current_op (current_context->metrics);
+}
+
+void
+context_end_frame (void)
 {
-       return current_context;
+       return metrics_end_frame (current_context->metrics);
 }