gallium: Use enum pipe_shader_type in bind_sampler_states() (v2)
[mesa.git] / src / gallium / drivers / nouveau / nv50 / nv50_query.h
1 #ifndef __NV50_QUERY_H__
2 #define __NV50_QUERY_H__
3
4 #include "pipe/p_context.h"
5
6 #include "nouveau_context.h"
7
8 struct nv50_context;
9 struct nv50_query;
10
11 struct nv50_query_funcs {
12 void (*destroy_query)(struct nv50_context *, struct nv50_query *);
13 boolean (*begin_query)(struct nv50_context *, struct nv50_query *);
14 void (*end_query)(struct nv50_context *, struct nv50_query *);
15 boolean (*get_query_result)(struct nv50_context *, struct nv50_query *,
16 boolean, union pipe_query_result *);
17 };
18
19 struct nv50_query {
20 const struct nv50_query_funcs *funcs;
21 uint16_t type;
22 uint16_t index;
23 };
24
25 static inline struct nv50_query *
26 nv50_query(struct pipe_query *pipe)
27 {
28 return (struct nv50_query *)pipe;
29 }
30
31 /*
32 * Driver queries groups:
33 */
34 #define NV50_HW_SM_QUERY_GROUP 0
35 #define NV50_HW_METRIC_QUERY_GROUP 1
36
37 void nv50_init_query_functions(struct nv50_context *);
38
39 #endif