gallium: WIP: Introduce sampler views.
[mesa.git] / src / gallium / drivers / trace / tr_screen.c
index 117503aaff694c8346e14fd53365362a7a2eb849..388d83eb5c217bf0c0fee36aaa38f6b05d3f28a1 100644 (file)
 #include "tr_dump.h"
 #include "tr_dump_state.h"
 #include "tr_texture.h"
+#include "tr_context.h"
 #include "tr_screen.h"
 
-#include "pipe/p_inlines.h"
+#include "util/u_inlines.h"
 #include "pipe/p_format.h"
 
 
@@ -159,6 +160,29 @@ trace_screen_is_format_supported(struct pipe_screen *_screen,
 }
 
 
+static struct pipe_context *
+trace_screen_context_create(struct pipe_screen *_screen, void *priv)
+{
+   struct trace_screen *tr_scr = trace_screen(_screen);
+   struct pipe_screen *screen = tr_scr->screen;
+   struct pipe_context *result;
+
+   trace_dump_call_begin("pipe_screen", "context_create");
+
+   trace_dump_arg(ptr, screen);
+
+   result = screen->context_create(screen, priv);
+
+   trace_dump_ret(ptr, result);
+
+   trace_dump_call_end();
+
+   result = trace_context_create(tr_scr, result);
+
+   return result;
+}
+
+
 static void
 trace_screen_flush_frontbuffer(struct pipe_screen *_screen,
                                struct pipe_surface *_surface,
@@ -904,6 +928,8 @@ trace_screen_create(struct pipe_screen *screen)
    tr_scr->base.get_param = trace_screen_get_param;
    tr_scr->base.get_paramf = trace_screen_get_paramf;
    tr_scr->base.is_format_supported = trace_screen_is_format_supported;
+   assert(screen->context_create);
+   tr_scr->base.context_create = trace_screen_context_create;
    tr_scr->base.texture_create = trace_screen_texture_create;
    tr_scr->base.texture_blanket = trace_screen_texture_blanket;
    tr_scr->base.texture_destroy = trace_screen_texture_destroy;