Path: blob/21.2-virgl/src/gallium/drivers/nouveau/nvc0/nvc0_query_hw_metric.h
4574 views
#ifndef __NVC0_QUERY_HW_METRIC_H__1#define __NVC0_QUERY_HW_METRIC_H__23#include "nvc0_query_hw.h"45struct nvc0_hw_metric_query {6struct nvc0_hw_query base;7struct nvc0_hw_query *queries[8];8unsigned num_queries;9};1011static inline struct nvc0_hw_metric_query *12nvc0_hw_metric_query(struct nvc0_hw_query *hq)13{14return (struct nvc0_hw_metric_query *)hq;15}1617/*18* Driver metrics queries:19*/20#define NVC0_HW_METRIC_QUERY(i) (PIPE_QUERY_DRIVER_SPECIFIC + 2048 + (i))21#define NVC0_HW_METRIC_QUERY_LAST NVC0_HW_METRIC_QUERY(NVC0_HW_METRIC_QUERY_COUNT - 1)22enum nvc0_hw_metric_queries23{24NVC0_HW_METRIC_QUERY_ACHIEVED_OCCUPANCY = 0,25NVC0_HW_METRIC_QUERY_BRANCH_EFFICIENCY,26NVC0_HW_METRIC_QUERY_INST_ISSUED,27NVC0_HW_METRIC_QUERY_INST_PER_WRAP,28NVC0_HW_METRIC_QUERY_INST_REPLAY_OVERHEAD,29NVC0_HW_METRIC_QUERY_ISSUED_IPC,30NVC0_HW_METRIC_QUERY_ISSUE_SLOTS,31NVC0_HW_METRIC_QUERY_ISSUE_SLOT_UTILIZATION,32NVC0_HW_METRIC_QUERY_IPC,33NVC0_HW_METRIC_QUERY_SHARED_REPLAY_OVERHEAD,34NVC0_HW_METRIC_QUERY_WARP_EXECUTION_EFFICIENCY,35NVC0_HW_METRIC_QUERY_WARP_NONPRED_EXECUTION_EFFICIENCY,36NVC0_HW_METRIC_QUERY_COUNT37};3839struct nvc0_hw_query *40nvc0_hw_metric_create_query(struct nvc0_context *, unsigned);41int42nvc0_hw_metric_get_driver_query_info(struct nvc0_screen *, unsigned,43struct pipe_driver_query_info *);44unsigned45nvc0_hw_metric_get_num_queries(struct nvc0_screen *);4647#endif484950