1b8e80941Smrg# Copyright © 2017 Dylan Baker 2b8e80941Smrg 3b8e80941Smrg# Permission is hereby granted, free of charge, to any person obtaining a copy 4b8e80941Smrg# of this software and associated documentation files (the "Software"), to deal 5b8e80941Smrg# in the Software without restriction, including without limitation the rights 6b8e80941Smrg# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7b8e80941Smrg# copies of the Software, and to permit persons to whom the Software is 8b8e80941Smrg# furnished to do so, subject to the following conditions: 9b8e80941Smrg 10b8e80941Smrg# The above copyright notice and this permission notice shall be included in 11b8e80941Smrg# all copies or substantial portions of the Software. 12b8e80941Smrg 13b8e80941Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14b8e80941Smrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15b8e80941Smrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16b8e80941Smrg# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17b8e80941Smrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18b8e80941Smrg# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19b8e80941Smrg# SOFTWARE. 20b8e80941Smrg 21b8e80941Smrgfiles_libradeonsi = files( 22b8e80941Smrg 'cik_sdma.c', 23b8e80941Smrg 'driinfo_radeonsi.h', 24b8e80941Smrg 'si_blit.c', 25b8e80941Smrg 'si_buffer.c', 26b8e80941Smrg 'si_build_pm4.h', 27b8e80941Smrg 'si_clear.c', 28b8e80941Smrg 'si_compute.c', 29b8e80941Smrg 'si_compute.h', 30b8e80941Smrg 'si_compute_blit.c', 31b8e80941Smrg 'si_cp_dma.c', 32b8e80941Smrg 'si_debug.c', 33b8e80941Smrg 'si_descriptors.c', 34b8e80941Smrg 'si_dma.c', 35b8e80941Smrg 'si_dma_cs.c', 36b8e80941Smrg 'si_fence.c', 37b8e80941Smrg 'si_get.c', 38b8e80941Smrg 'si_gfx_cs.c', 39b8e80941Smrg 'si_gpu_load.c', 40b8e80941Smrg 'si_perfcounter.c', 41b8e80941Smrg 'si_pipe.c', 42b8e80941Smrg 'si_pipe.h', 43b8e80941Smrg 'si_pm4.c', 44b8e80941Smrg 'si_pm4.h', 45b8e80941Smrg 'si_public.h', 46b8e80941Smrg 'si_query.c', 47b8e80941Smrg 'si_query.h', 48b8e80941Smrg 'si_shader.c', 49b8e80941Smrg 'si_shader.h', 50b8e80941Smrg 'si_shader_internal.h', 51b8e80941Smrg 'si_shader_nir.c', 52b8e80941Smrg 'si_shader_tgsi_alu.c', 53b8e80941Smrg 'si_shader_tgsi_mem.c', 54b8e80941Smrg 'si_shader_tgsi_setup.c', 55b8e80941Smrg 'si_shaderlib_tgsi.c', 56b8e80941Smrg 'si_state.c', 57b8e80941Smrg 'si_state.h', 58b8e80941Smrg 'si_state_binning.c', 59b8e80941Smrg 'si_state_draw.c', 60b8e80941Smrg 'si_state_msaa.c', 61b8e80941Smrg 'si_state_shaders.c', 62b8e80941Smrg 'si_state_streamout.c', 63b8e80941Smrg 'si_state_viewport.c', 64b8e80941Smrg 'si_test_dma.c', 65b8e80941Smrg 'si_test_dma_perf.c', 66b8e80941Smrg 'si_texture.c', 67b8e80941Smrg 'si_uvd.c', 68b8e80941Smrg '../radeon/radeon_uvd.c', 69b8e80941Smrg '../radeon/radeon_uvd.h', 70b8e80941Smrg '../radeon/radeon_vcn_enc_1_2.c', 71b8e80941Smrg '../radeon/radeon_vcn_enc.c', 72b8e80941Smrg '../radeon/radeon_vcn_enc.h', 73b8e80941Smrg '../radeon/radeon_vcn_dec_jpeg.c', 74b8e80941Smrg '../radeon/radeon_vcn_dec.c', 75b8e80941Smrg '../radeon/radeon_vcn_dec.h', 76b8e80941Smrg '../radeon/radeon_uvd_enc_1_1.c', 77b8e80941Smrg '../radeon/radeon_uvd_enc.c', 78b8e80941Smrg '../radeon/radeon_uvd_enc.h', 79b8e80941Smrg '../radeon/radeon_vce_40_2_2.c', 80b8e80941Smrg '../radeon/radeon_vce_50.c', 81b8e80941Smrg '../radeon/radeon_vce_52.c', 82b8e80941Smrg '../radeon/radeon_vce.c', 83b8e80941Smrg '../radeon/radeon_vce.h', 84b8e80941Smrg '../radeon/radeon_video.c', 85b8e80941Smrg '../radeon/radeon_video.h', 86b8e80941Smrg '../radeon/radeon_winsys.h', 87b8e80941Smrg) 88b8e80941Smrg 89b8e80941Smrgsi_driinfo_h = custom_target( 90b8e80941Smrg 'si_driinfo.h', 91b8e80941Smrg input : files( 92b8e80941Smrg '../../../util/merge_driinfo.py', 93b8e80941Smrg '../../auxiliary/pipe-loader/driinfo_gallium.h', 'driinfo_radeonsi.h' 94b8e80941Smrg ), 95b8e80941Smrg output : 'si_driinfo.h', 96b8e80941Smrg command : [prog_python, '@INPUT@'], 97b8e80941Smrg capture : true, 98b8e80941Smrg) 99b8e80941Smrg 100b8e80941Smrglibradeonsi = static_library( 101b8e80941Smrg 'radeonsi', 102b8e80941Smrg [files_libradeonsi, si_driinfo_h, sid_tables_h], 103b8e80941Smrg include_directories : [ 104b8e80941Smrg inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_amd_common, 105b8e80941Smrg inc_gallium_drivers, 106b8e80941Smrg ], 107b8e80941Smrg c_args : ['-Wstrict-overflow=0', c_vis_args], 108b8e80941Smrg cpp_args : [cpp_vis_args], 109b8e80941Smrg dependencies : [dep_llvm, dep_clock, dep_libdrm_radeon, idep_nir_headers], 110b8e80941Smrg) 111b8e80941Smrg 112b8e80941Smrgdriver_radeonsi = declare_dependency( 113b8e80941Smrg compile_args : '-DGALLIUM_RADEONSI', 114b8e80941Smrg sources : si_driinfo_h, 115b8e80941Smrg link_with : [ 116b8e80941Smrg libradeonsi, libradeonwinsys, libamdgpuwinsys, libamd_common, 117b8e80941Smrg ], 118b8e80941Smrg dependencies : idep_nir, 119b8e80941Smrg) 120