diff options
author | Maarten ter Huurne <maarten@treewalker.org> | 2013-09-09 10:33:03 +0200 |
---|---|---|
committer | Maarten ter Huurne <maarten@treewalker.org> | 2013-09-09 10:33:32 +0200 |
commit | 199c781c703eb3b4986bd454d29a5049f19290ff (patch) | |
tree | 366375783ca6b2e194bfd8af9864d400be01d2fd | |
parent | 1ec6a3e245295ac74093fc9bfde3917b3cc82639 (diff) |
include_v4_uapi: Added hardware performance counters struct
It is needed when profiling support is enabled.
-rw-r--r-- | native/include_v4_uapi/gc_hal_driver.h | 1 | ||||
-rw-r--r-- | native/include_v4_uapi/gc_hal_profiler.h | 102 |
2 files changed, 103 insertions, 0 deletions
diff --git a/native/include_v4_uapi/gc_hal_driver.h b/native/include_v4_uapi/gc_hal_driver.h index 658ed8e..1a453f4 100644 --- a/native/include_v4_uapi/gc_hal_driver.h +++ b/native/include_v4_uapi/gc_hal_driver.h @@ -26,6 +26,7 @@ #include "gc_hal_enum.h" #include "gc_hal_types.h" +#include "gc_hal_profiler.h" /******************************************************************************\ ******************************* I/O Control Codes ****************************** diff --git a/native/include_v4_uapi/gc_hal_profiler.h b/native/include_v4_uapi/gc_hal_profiler.h new file mode 100644 index 0000000..54eb4d8 --- /dev/null +++ b/native/include_v4_uapi/gc_hal_profiler.h @@ -0,0 +1,102 @@ +/**************************************************************************** +* +* Copyright (C) 2005 - 2012 by Vivante Corp. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the license, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not write to the Free Software +* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +* +*****************************************************************************/ + + +#ifndef __gc_hal_profiler_h_ +#define __gc_hal_profiler_h_ + +/* HW profile information. */ +typedef struct _gcsPROFILER_COUNTERS +{ + /* HW static counters. */ + gctUINT32 gpuClock; + gctUINT32 axiClock; + gctUINT32 shaderClock; + + /* HW vairable counters. */ + gctUINT32 gpuClockStart; + gctUINT32 gpuClockEnd; + + /* HW vairable counters. */ + gctUINT32 gpuCyclesCounter; + gctUINT32 gpuTotalRead64BytesPerFrame; + gctUINT32 gpuTotalWrite64BytesPerFrame; + + /* PE */ + gctUINT32 pe_pixel_count_killed_by_color_pipe; + gctUINT32 pe_pixel_count_killed_by_depth_pipe; + gctUINT32 pe_pixel_count_drawn_by_color_pipe; + gctUINT32 pe_pixel_count_drawn_by_depth_pipe; + + /* SH */ + gctUINT32 ps_inst_counter; + gctUINT32 rendered_pixel_counter; + gctUINT32 vs_inst_counter; + gctUINT32 rendered_vertice_counter; + gctUINT32 vtx_branch_inst_counter; + gctUINT32 vtx_texld_inst_counter; + gctUINT32 pxl_branch_inst_counter; + gctUINT32 pxl_texld_inst_counter; + + /* PA */ + gctUINT32 pa_input_vtx_counter; + gctUINT32 pa_input_prim_counter; + gctUINT32 pa_output_prim_counter; + gctUINT32 pa_depth_clipped_counter; + gctUINT32 pa_trivial_rejected_counter; + gctUINT32 pa_culled_counter; + + /* SE */ + gctUINT32 se_culled_triangle_count; + gctUINT32 se_culled_lines_count; + + /* RA */ + gctUINT32 ra_valid_pixel_count; + gctUINT32 ra_total_quad_count; + gctUINT32 ra_valid_quad_count_after_early_z; + gctUINT32 ra_total_primitive_count; + gctUINT32 ra_pipe_cache_miss_counter; + gctUINT32 ra_prefetch_cache_miss_counter; + gctUINT32 ra_eez_culled_counter; + + /* TX */ + gctUINT32 tx_total_bilinear_requests; + gctUINT32 tx_total_trilinear_requests; + gctUINT32 tx_total_discarded_texture_requests; + gctUINT32 tx_total_texture_requests; + gctUINT32 tx_mem_read_count; + gctUINT32 tx_mem_read_in_8B_count; + gctUINT32 tx_cache_miss_count; + gctUINT32 tx_cache_hit_texel_count; + gctUINT32 tx_cache_miss_texel_count; + + /* MC */ + gctUINT32 mc_total_read_req_8B_from_pipeline; + gctUINT32 mc_total_read_req_8B_from_IP; + gctUINT32 mc_total_write_req_8B_from_pipeline; + + /* HI */ + gctUINT32 hi_axi_cycles_read_request_stalled; + gctUINT32 hi_axi_cycles_write_request_stalled; + gctUINT32 hi_axi_cycles_write_data_stalled; +} +gcsPROFILER_COUNTERS; + +#endif /* __gc_hal_profiler_h_ */ |