-/* -*- mode: C; c-file-style: "k&r"; tab-width 4; indent-tabs-mode: t; -*- */
-
/*
* Copyright (C) 2013 Rob Clark <robclark@freedesktop.org>
*
struct fd_query_funcs {
void (*destroy_query)(struct fd_context *ctx,
struct fd_query *q);
- boolean (*begin_query)(struct fd_context *ctx, struct fd_query *q);
+ bool (*begin_query)(struct fd_context *ctx, struct fd_query *q);
void (*end_query)(struct fd_context *ctx, struct fd_query *q);
- boolean (*get_query_result)(struct fd_context *ctx,
- struct fd_query *q, boolean wait,
+ bool (*get_query_result)(struct fd_context *ctx,
+ struct fd_query *q, bool wait,
union pipe_query_result *result);
};
const struct fd_query_funcs *funcs;
bool active;
int type;
+ unsigned index;
};
static inline struct fd_query *
#define FD_QUERY_SHADOW_UPLOADS (PIPE_QUERY_DRIVER_SPECIFIC + 7) /* texture/buffer uploads that shadowed rsc */
#define FD_QUERY_VS_REGS (PIPE_QUERY_DRIVER_SPECIFIC + 8) /* avg # of VS registers (scaled up by 100x) */
#define FD_QUERY_FS_REGS (PIPE_QUERY_DRIVER_SPECIFIC + 9) /* avg # of VS registers (scaled up by 100x) */
+/* insert any new non-perfcntr queries here, the first perfcntr index
+ * needs to come last!
+ */
+#define FD_QUERY_FIRST_PERFCNTR (PIPE_QUERY_DRIVER_SPECIFIC + 10)
void fd_query_screen_init(struct pipe_screen *pscreen);
void fd_query_context_init(struct pipe_context *pctx);
return 3;
case PIPE_QUERY_TIMESTAMP:
return 4;
+
+ case PIPE_QUERY_PRIMITIVES_GENERATED:
+ return 5;
+ case PIPE_QUERY_PRIMITIVES_EMITTED:
+ return 6;
+
default:
return -1;
}