| #ifndef __NVC0_QUERY_SW_H__ |
| #define __NVC0_QUERY_SW_H__ |
| |
| #include "nvc0_query.h" |
| |
| struct nvc0_sw_query { |
| struct nvc0_query base; |
| uint64_t value; |
| }; |
| |
| static inline struct nvc0_sw_query * |
| nvc0_sw_query(struct nvc0_query *q) |
| { |
| return (struct nvc0_sw_query *)q; |
| } |
| |
| /* |
| * Driver statistics queries: |
| */ |
| #define NVC0_SW_QUERY_DRV_STAT(i) (PIPE_QUERY_DRIVER_SPECIFIC + 1024 + (i)) |
| #define NVC0_SW_QUERY_DRV_STAT_LAST NVC0_SW_QUERY_DRV_STAT(NVC0_SW_QUERY_DRV_STAT_COUNT - 1) |
| enum nvc0_sw_query_drv_stat |
| { |
| #ifdef NOUVEAU_ENABLE_DRIVER_STATISTICS |
| NVC0_SW_QUERY_DRV_STAT_TEX_OBJECT_CURRENT_COUNT = 0, |
| NVC0_SW_QUERY_DRV_STAT_TEX_OBJECT_CURRENT_BYTES, |
| NVC0_SW_QUERY_DRV_STAT_BUF_OBJECT_CURRENT_COUNT, |
| NVC0_SW_QUERY_DRV_STAT_BUF_OBJECT_CURRENT_BYTES_VID, |
| NVC0_SW_QUERY_DRV_STAT_BUF_OBJECT_CURRENT_BYTES_SYS, |
| NVC0_SW_QUERY_DRV_STAT_TEX_TRANSFERS_READ, |
| NVC0_SW_QUERY_DRV_STAT_TEX_TRANSFERS_WRITE, |
| NVC0_SW_QUERY_DRV_STAT_TEX_COPY_COUNT, |
| NVC0_SW_QUERY_DRV_STAT_TEX_BLIT_COUNT, |
| NVC0_SW_QUERY_DRV_STAT_TEX_CACHE_FLUSH_COUNT, |
| NVC0_SW_QUERY_DRV_STAT_BUF_TRANSFERS_READ, |
| NVC0_SW_QUERY_DRV_STAT_BUF_TRANSFERS_WRITE, |
| NVC0_SW_QUERY_DRV_STAT_BUF_READ_BYTES_STAGING_VID, |
| NVC0_SW_QUERY_DRV_STAT_BUF_WRITE_BYTES_DIRECT, |
| NVC0_SW_QUERY_DRV_STAT_BUF_WRITE_BYTES_STAGING_VID, |
| NVC0_SW_QUERY_DRV_STAT_BUF_WRITE_BYTES_STAGING_SYS, |
| NVC0_SW_QUERY_DRV_STAT_BUF_COPY_BYTES, |
| NVC0_SW_QUERY_DRV_STAT_BUF_NON_KERNEL_FENCE_SYNC_COUNT, |
| NVC0_SW_QUERY_DRV_STAT_ANY_NON_KERNEL_FENCE_SYNC_COUNT, |
| NVC0_SW_QUERY_DRV_STAT_QUERY_SYNC_COUNT, |
| NVC0_SW_QUERY_DRV_STAT_GPU_SERIALIZE_COUNT, |
| NVC0_SW_QUERY_DRV_STAT_DRAW_CALLS_ARRAY, |
| NVC0_SW_QUERY_DRV_STAT_DRAW_CALLS_INDEXED, |
| NVC0_SW_QUERY_DRV_STAT_DRAW_CALLS_FALLBACK_COUNT, |
| NVC0_SW_QUERY_DRV_STAT_USER_BUFFER_UPLOAD_BYTES, |
| NVC0_SW_QUERY_DRV_STAT_CONSTBUF_UPLOAD_COUNT, |
| NVC0_SW_QUERY_DRV_STAT_CONSTBUF_UPLOAD_BYTES, |
| NVC0_SW_QUERY_DRV_STAT_PUSHBUF_COUNT, |
| NVC0_SW_QUERY_DRV_STAT_RESOURCE_VALIDATE_COUNT, |
| #endif |
| NVC0_SW_QUERY_DRV_STAT_COUNT |
| }; |
| |
| struct nvc0_query * |
| nvc0_sw_create_query(struct nvc0_context *, unsigned, unsigned); |
| int |
| nvc0_sw_get_driver_query_info(struct nvc0_screen *, unsigned, |
| struct pipe_driver_query_info *); |
| |
| #endif |