1 #ifndef __NVC0_QUERY_HW_METRIC_H__
2 #define __NVC0_QUERY_HW_METRIC_H__
4 #include "nvc0_query_hw.h"
6 struct nvc0_hw_metric_query
{
7 struct nvc0_hw_query base
;
8 struct nvc0_hw_query
*queries
[8];
12 static inline struct nvc0_hw_metric_query
*
13 nvc0_hw_metric_query(struct nvc0_hw_query
*hq
)
15 return (struct nvc0_hw_metric_query
*)hq
;
19 * Driver metrics queries:
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
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
40 struct nvc0_hw_query
*
41 nvc0_hw_metric_create_query(struct nvc0_context
*, unsigned);
43 nvc0_hw_metric_get_driver_query_info(struct nvc0_screen
*, unsigned,
44 struct pipe_driver_query_info
*);
46 nvc0_hw_metric_get_num_queries(struct nvc0_screen
*);