1bf215546Sopenharmony_ci# Copyright © 2021 Collabora, Ltd. 2bf215546Sopenharmony_ci# Author: Antonio Caggiano <antonio.caggiano@collabora.com> 3bf215546Sopenharmony_ci 4bf215546Sopenharmony_ci# Permission is hereby granted, free of charge, to any person obtaining a copy 5bf215546Sopenharmony_ci# of this software and associated documentation files (the "Software"), to deal 6bf215546Sopenharmony_ci# in the Software without restriction, including without limitation the rights 7bf215546Sopenharmony_ci# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8bf215546Sopenharmony_ci# copies of the Software, and to permit persons to whom the Software is 9bf215546Sopenharmony_ci# furnished to do so, subject to the following conditions: 10bf215546Sopenharmony_ci 11bf215546Sopenharmony_ci# The above copyright notice and this permission notice shall be included in 12bf215546Sopenharmony_ci# all copies or substantial portions of the Software. 13bf215546Sopenharmony_ci 14bf215546Sopenharmony_ci# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15bf215546Sopenharmony_ci# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16bf215546Sopenharmony_ci# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17bf215546Sopenharmony_ci# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18bf215546Sopenharmony_ci# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19bf215546Sopenharmony_ci# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20bf215546Sopenharmony_ci# THE SOFTWARE. 21bf215546Sopenharmony_ci 22bf215546Sopenharmony_cipan_hw_metrics = [ 23bf215546Sopenharmony_ci 'G31', 'G51', 'G52', 'G57', 'G68', 'G71', 'G72', 'G76', 'G77', 24bf215546Sopenharmony_ci 'G78', 'T72x', 'T76x', 'T82x', 'T83x', 'T86x', 'T88x', 25bf215546Sopenharmony_ci] 26bf215546Sopenharmony_ci 27bf215546Sopenharmony_cipan_hw_metrics_xml_files = [] 28bf215546Sopenharmony_ciforeach hw : pan_hw_metrics 29bf215546Sopenharmony_ci pan_hw_metrics_xml_files += '@0@.xml'.format(hw) 30bf215546Sopenharmony_ciendforeach 31bf215546Sopenharmony_ci 32bf215546Sopenharmony_cipan_perf_sources = [ 33bf215546Sopenharmony_ci 'pan_perf.c', 34bf215546Sopenharmony_ci] 35bf215546Sopenharmony_ci 36bf215546Sopenharmony_cipan_perf_sources += custom_target( 37bf215546Sopenharmony_ci 'pan-perf-sources', 38bf215546Sopenharmony_ci input : pan_hw_metrics_xml_files, 39bf215546Sopenharmony_ci output : [ 'pan_perf_metrics.c', 'pan_perf_metrics.h' ], 40bf215546Sopenharmony_ci command : [ 41bf215546Sopenharmony_ci prog_python, files('pan_gen_perf.py'), 42bf215546Sopenharmony_ci '--code', '@OUTPUT0@', '--header', '@OUTPUT1@', 43bf215546Sopenharmony_ci '@INPUT@', 44bf215546Sopenharmony_ci ], 45bf215546Sopenharmony_ci) 46bf215546Sopenharmony_ci 47bf215546Sopenharmony_cilibpanfrost_perf = static_library( 48bf215546Sopenharmony_ci 'panfrost_perf', 49bf215546Sopenharmony_ci pan_perf_sources, 50bf215546Sopenharmony_ci include_directories : [inc_include, inc_src, inc_panfrost], 51bf215546Sopenharmony_ci dependencies: libpanfrost_dep 52bf215546Sopenharmony_ci) 53bf215546Sopenharmony_ci 54bf215546Sopenharmony_cidep_panfrost_perf = declare_dependency( 55bf215546Sopenharmony_ci link_with: libpanfrost_perf, 56bf215546Sopenharmony_ci include_directories: [inc_panfrost, inc_src, inc_include] 57bf215546Sopenharmony_ci) 58bf215546Sopenharmony_ci 59bf215546Sopenharmony_cipanfrost_quick = executable( 60bf215546Sopenharmony_ci 'panquick', 61bf215546Sopenharmony_ci 'quick.c', 62bf215546Sopenharmony_ci include_directories : [ 63bf215546Sopenharmony_ci inc_mapi, 64bf215546Sopenharmony_ci inc_mesa, 65bf215546Sopenharmony_ci inc_gallium, 66bf215546Sopenharmony_ci inc_gallium_aux, 67bf215546Sopenharmony_ci inc_include, 68bf215546Sopenharmony_ci inc_src, 69bf215546Sopenharmony_ci inc_panfrost, 70bf215546Sopenharmony_ci inc_panfrost_hw, 71bf215546Sopenharmony_ci ], 72bf215546Sopenharmony_ci dependencies : [ 73bf215546Sopenharmony_ci dep_libdrm, 74bf215546Sopenharmony_ci libpanfrost_dep, 75bf215546Sopenharmony_ci dep_panfrost_perf, 76bf215546Sopenharmony_ci ], 77bf215546Sopenharmony_ci build_by_default : with_tools.contains('panfrost') 78bf215546Sopenharmony_ci) 79