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_hw_metric.h
4574 views
1
#ifndef __NVC0_QUERY_HW_METRIC_H__
2
#define __NVC0_QUERY_HW_METRIC_H__
3
4
#include "nvc0_query_hw.h"
5
6
struct nvc0_hw_metric_query {
7
struct nvc0_hw_query base;
8
struct nvc0_hw_query *queries[8];
9
unsigned num_queries;
10
};
11
12
static inline struct nvc0_hw_metric_query *
13
nvc0_hw_metric_query(struct nvc0_hw_query *hq)
14
{
15
return (struct nvc0_hw_metric_query *)hq;
16
}
17
18
/*
19
* Driver metrics queries:
20
*/
21
#define NVC0_HW_METRIC_QUERY(i) (PIPE_QUERY_DRIVER_SPECIFIC + 2048 + (i))
22
#define NVC0_HW_METRIC_QUERY_LAST NVC0_HW_METRIC_QUERY(NVC0_HW_METRIC_QUERY_COUNT - 1)
23
enum nvc0_hw_metric_queries
24
{
25
NVC0_HW_METRIC_QUERY_ACHIEVED_OCCUPANCY = 0,
26
NVC0_HW_METRIC_QUERY_BRANCH_EFFICIENCY,
27
NVC0_HW_METRIC_QUERY_INST_ISSUED,
28
NVC0_HW_METRIC_QUERY_INST_PER_WRAP,
29
NVC0_HW_METRIC_QUERY_INST_REPLAY_OVERHEAD,
30
NVC0_HW_METRIC_QUERY_ISSUED_IPC,
31
NVC0_HW_METRIC_QUERY_ISSUE_SLOTS,
32
NVC0_HW_METRIC_QUERY_ISSUE_SLOT_UTILIZATION,
33
NVC0_HW_METRIC_QUERY_IPC,
34
NVC0_HW_METRIC_QUERY_SHARED_REPLAY_OVERHEAD,
35
NVC0_HW_METRIC_QUERY_WARP_EXECUTION_EFFICIENCY,
36
NVC0_HW_METRIC_QUERY_WARP_NONPRED_EXECUTION_EFFICIENCY,
37
NVC0_HW_METRIC_QUERY_COUNT
38
};
39
40
struct nvc0_hw_query *
41
nvc0_hw_metric_create_query(struct nvc0_context *, unsigned);
42
int
43
nvc0_hw_metric_get_driver_query_info(struct nvc0_screen *, unsigned,
44
struct pipe_driver_query_info *);
45
unsigned
46
nvc0_hw_metric_get_num_queries(struct nvc0_screen *);
47
48
#endif
49
50