1# Copyright © 2022 Imagination Technologies Ltd. 2 3# Permission is hereby granted, free of charge, to any person obtaining a copy 4# of this software and associated documentation files (the "Software"), to deal 5# in the Software without restriction, including without limitation the rights 6# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7# copies of the Software, and to permit persons to whom the Software is 8# furnished to do so, subject to the following conditions: 9 10# The above copyright notice and this permission notice (including the next 11# paragraph) shall be included in all copies or substantial portions of the 12# Software. 13 14# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20# SOFTWARE. 21 22with_imagination_tools = with_tools.contains('imagination') 23 24inc_rogue = include_directories([ 25 '.', 26]) 27 28libpowervr_rogue_files = files( 29 'nir/rogue_nir_lower_io.c', 30 'nir/rogue_nir_pfo.c', 31 32 'rogue.c', 33 'rogue_build_data.c', 34 'rogue_builder.c', 35 'rogue_compile.c', 36 'rogue_constreg.c', 37 'rogue_debug.c', 38 'rogue_encode.c', 39 'rogue_info.c', 40 'rogue_nir.c', 41 'rogue_print.c', 42 'rogue_validate.c', 43 44 'passes/rogue_constreg.c', 45 'passes/rogue_copy_prop.c', 46 'passes/rogue_dce.c', 47 'passes/rogue_lower_late_ops.c', 48 'passes/rogue_lower_pseudo_ops.c', 49 'passes/rogue_regalloc.c', 50 'passes/rogue_schedule_instr_groups.c', 51 'passes/rogue_schedule_uvsw.c', 52 'passes/rogue_schedule_wdf.c', 53 'passes/rogue_trim.c', 54) 55 56# FIXME: Remove idep_vulkan_runtime once 57# the compiler/driver interface is finalised. 58libpowervr_rogue = shared_library( 59 'powervr_rogue', 60 libpowervr_rogue_files, 61 include_directories : [ 62 inc_imagination, 63 inc_include, 64 inc_src, 65 ], 66 c_args : [imagination_c_args, no_override_init_args], 67 gnu_symbol_visibility : 'hidden', 68 dependencies : [idep_mesautil, idep_nir, idep_vulkan_runtime, dep_csbgen], 69 install : true, 70) 71 72subdir('tools') 73