gallium: remove unused winsys pointers in pipe_screen and pipe_context
[mesa.git] / src / gallium / drivers / trace / tr_dump.h
index 26409f26c66ef4c6fd0f9c6f6c98b9f1969bbb79..62b4fe429b1e10b32b309424ab606c9d9ff9a90d 100644 (file)
 
 
 #include "pipe/p_compiler.h"
+#include "pipe/p_format.h"
 
-
-struct pipe_buffer;
-struct pipe_texture;
+struct pipe_resource;
 struct pipe_surface;
 struct pipe_transfer;
+struct pipe_box;
 
+/*
+ * Low level dumping controls.
+ *
+ * Opening the trace file and checking if that is opened.
+ */
 boolean trace_dump_trace_begin(void);
-boolean trace_dump_enabled(void);
+boolean trace_dump_trace_enabled(void);
 void trace_dump_trace_end(void);
+
+/*
+ * Lock and unlock the call mutex.
+ *
+ * It used by the none locked version of dumping control
+ * and begin/end call dump functions.
+ *
+ * Begin takes the lock while end unlocks it. Use the _locked
+ * version to avoid locking/unlocking it.
+ */
+void trace_dump_call_lock(void);
+void trace_dump_call_unlock(void);
+
+/*
+ * High level dumping control.
+ */
+void trace_dumping_start_locked(void);
+void trace_dumping_stop_locked(void);
+boolean trace_dumping_enabled_locked(void);
+void trace_dumping_start(void);
+void trace_dumping_stop(void);
+boolean trace_dumping_enabled(void);
+
+void trace_dump_call_begin_locked(const char *klass, const char *method);
+void trace_dump_call_end_locked(void);
 void trace_dump_call_begin(const char *klass, const char *method);
 void trace_dump_call_end(void);
+
 void trace_dump_arg_begin(const char *name);
 void trace_dump_arg_end(void);
 void trace_dump_ret_begin(void);
@@ -55,7 +86,12 @@ void trace_dump_bool(int value);
 void trace_dump_int(long long int value);
 void trace_dump_uint(long long unsigned value);
 void trace_dump_float(double value);
-void trace_dump_bytes(const void *data, long unsigned size);
+void trace_dump_bytes(const void *data, size_t size);
+void trace_dump_box_bytes(const void *data,
+                         enum pipe_format format,
+                         const struct pipe_box *box,
+                         unsigned stride,
+                         unsigned slice_stride);
 void trace_dump_string(const char *str);
 void trace_dump_enum(const char *value);
 void trace_dump_array_begin(void);
@@ -69,8 +105,7 @@ void trace_dump_member_end(void);
 void trace_dump_null(void);
 void trace_dump_ptr(const void *value);
 /* will turn a wrapped object into the real one and dump ptr */
-void trace_dump_buffer_ptr(struct pipe_buffer *_buffer);
-void trace_dump_texture_ptr(struct pipe_texture *_texture);
+void trace_dump_resource_ptr(struct pipe_resource *_texture);
 void trace_dump_surface_ptr(struct pipe_surface *_surface);
 void trace_dump_transfer_ptr(struct pipe_transfer *_transfer);
 
@@ -85,6 +120,13 @@ void trace_dump_transfer_ptr(struct pipe_transfer *_transfer);
       trace_dump_arg_end(); \
    } while(0)
 
+#define trace_dump_arg_struct(_type, _arg) \
+   do { \
+      trace_dump_arg_begin(#_arg); \
+      trace_dump_##_type(&_arg); \
+      trace_dump_arg_end(); \
+   } while(0)
+
 #define trace_dump_ret(_type, _arg) \
    do { \
       trace_dump_ret_begin(); \
@@ -94,7 +136,7 @@ void trace_dump_transfer_ptr(struct pipe_transfer *_transfer);
 
 #define trace_dump_array(_type, _obj, _size) \
    do { \
-      unsigned long idx; \
+      size_t idx; \
       trace_dump_array_begin(); \
       for(idx = 0; idx < (_size); ++idx) { \
          trace_dump_elem_begin(); \
@@ -106,7 +148,7 @@ void trace_dump_transfer_ptr(struct pipe_transfer *_transfer);
 
 #define trace_dump_struct_array(_type, _obj, _size) \
    do { \
-      unsigned long idx; \
+      size_t idx; \
       trace_dump_array_begin(); \
       for(idx = 0; idx < (_size); ++idx) { \
          trace_dump_elem_begin(); \