Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/gallium/drivers/nouveau/nvc0/nvc0_query.h
4574 views
1
#ifndef __NVC0_QUERY_H__
2
#define __NVC0_QUERY_H__
3
4
#include "pipe/p_context.h"
5
6
#include "nouveau_context.h"
7
8
struct nvc0_context;
9
struct nvc0_query;
10
11
struct nvc0_query_funcs {
12
void (*destroy_query)(struct nvc0_context *, struct nvc0_query *);
13
bool (*begin_query)(struct nvc0_context *, struct nvc0_query *);
14
void (*end_query)(struct nvc0_context *, struct nvc0_query *);
15
bool (*get_query_result)(struct nvc0_context *, struct nvc0_query *,
16
bool, union pipe_query_result *);
17
void (*get_query_result_resource)(struct nvc0_context *nvc0,
18
struct nvc0_query *q,
19
bool wait,
20
enum pipe_query_value_type result_type,
21
int index,
22
struct pipe_resource *resource,
23
unsigned offset);
24
};
25
26
struct nvc0_query {
27
const struct nvc0_query_funcs *funcs;
28
uint16_t type;
29
uint16_t index;
30
};
31
32
static inline struct nvc0_query *
33
nvc0_query(struct pipe_query *pipe)
34
{
35
return (struct nvc0_query *)pipe;
36
}
37
38
/*
39
* Driver queries groups:
40
*/
41
#define NVC0_HW_SM_QUERY_GROUP 0
42
#define NVC0_HW_METRIC_QUERY_GROUP 1
43
#define NVC0_SW_QUERY_DRV_STAT_GROUP 2
44
45
void nvc0_init_query_functions(struct nvc0_context *);
46
47
#endif
48
49