gallium/u_threaded: move a structure up to be used later

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7056>
diff --git a/src/gallium/auxiliary/util/u_threaded_context.c b/src/gallium/auxiliary/util/u_threaded_context.c
index d8dcad5..188c51e 100644
--- a/src/gallium/auxiliary/util/u_threaded_context.c
+++ b/src/gallium/auxiliary/util/u_threaded_context.c
@@ -60,6 +60,13 @@
    TC_NUM_CALLS,
 };
 
+/* This is actually variable-sized, because indirect isn't allocated if it's
+ * not needed. */
+struct tc_full_draw_info {
+   struct pipe_draw_info draw;
+   struct pipe_draw_indirect_info indirect;
+};
+
 typedef void (*tc_execute)(struct pipe_context *pipe, union tc_payload *payload);
 
 static const tc_execute execute_func[TC_NUM_CALLS];
@@ -2125,13 +2132,6 @@
    pipe->flush(pipe, fence, flags);
 }
 
-/* This is actually variable-sized, because indirect isn't allocated if it's
- * not needed. */
-struct tc_full_draw_info {
-   struct pipe_draw_info draw;
-   struct pipe_draw_indirect_info indirect;
-};
-
 static void
 tc_call_draw_vbo(struct pipe_context *pipe, union tc_payload *payload)
 {