#include "ilo_common.h"
+struct intel_bo;
struct ilo_context;
+/**
+ * Queries can be bound to various places in the driver. While bound, it tells
+ * the driver to collect the data indicated by the type of the query.
+ */
+struct ilo_query {
+ unsigned type;
+ unsigned index;
+
+ struct list_head list;
+
+ bool active;
+
+ /* for queries that need to read hardware statistics */
+ int cmd_len; /* in dwords, as expected by ilo_cp */
+ bool in_pairs;
+ struct intel_bo *bo;
+ int stride, count;
+ int used;
+
+ /* storage for the collected data */
+ union pipe_query_result result;
+};
+
void
ilo_init_query_functions(struct ilo_context *ilo);