1# Copyright © 2017 Intel Corporation 2# SPDX-License-Identifier: MIT 3 4files_r600 = files( 5 'r600d_common.h', 6 'compute_memory_pool.c', 7 'compute_memory_pool.h', 8 'eg_asm.c', 9 'eg_debug.c', 10 'eg_sq.h', 11 'evergreen_compute.c', 12 'evergreen_compute.h', 13 'evergreen_compute_internal.h', 14 'evergreend.h', 15 'evergreen_hw_context.c', 16 'evergreen_state.c', 17 'r600_asm.c', 18 'r600_asm.h', 19 'r600_blit.c', 20 'r600d.h', 21 'r600_dump.c', 22 'r600_dump.h', 23 'r600_formats.h', 24 'r600_hw_context.c', 25 'r600_isa.c', 26 'r600_isa.h', 27 'r600_opcodes.h', 28 'r600_pipe.c', 29 'r600_pipe.h', 30 'r600_public.h', 31 'r600_sfn.cpp', 32 'r600_sfn.h', 33 'r600_shader.c', 34 'r600_shader.h', 35 'r600_shader_common.h', 36 'r600_sq.h', 37 'r600_state.c', 38 'r600_state_common.c', 39 'r600_uvd.c', 40 'r700_asm.c', 41 'r700_sq.h', 42 'cayman_msaa.c', 43 'r600_buffer_common.c', 44 'r600_cs.h', 45 'r600_gpu_load.c', 46 'r600_perfcounter.c', 47 'r600_pipe_common.c', 48 'r600_pipe_common.h', 49 'r600_query.c', 50 'r600_query.h', 51 'r600_streamout.c', 52 'r600_test_dma.c', 53 'r600_texture.c', 54 'r600_viewport.c', 55 'radeon_uvd.c', 56 'radeon_uvd.h', 57 'radeon_vce.c', 58 'radeon_vce.h', 59 'radeon_video.c', 60 'radeon_video.h', 61 'sfn/sfn_alu_defines.cpp', 62 'sfn/sfn_alu_defines.h', 63 'sfn/sfn_alu_readport_validation.cpp', 64 'sfn/sfn_alu_readport_validation.h', 65 'sfn/sfn_assembler.cpp', 66 'sfn/sfn_assembler.h', 67 'sfn/sfn_callstack.cpp', 68 'sfn/sfn_callstack.h', 69 'sfn/sfn_conditionaljumptracker.cpp', 70 'sfn/sfn_conditionaljumptracker.h', 71 'sfn/sfn_defines.h', 72 'sfn/sfn_debug.cpp', 73 'sfn/sfn_debug.h', 74 'sfn/sfn_instr.cpp', 75 'sfn/sfn_instr.h', 76 'sfn/sfn_instr_alu.cpp', 77 'sfn/sfn_instr_alu.h', 78 'sfn/sfn_instr_alugroup.cpp', 79 'sfn/sfn_instr_alugroup.h', 80 'sfn/sfn_instr_controlflow.cpp', 81 'sfn/sfn_instr_controlflow.h', 82 'sfn/sfn_instr_export.cpp', 83 'sfn/sfn_instr_export.h', 84 'sfn/sfn_instr_fetch.cpp', 85 'sfn/sfn_instr_fetch.h', 86 'sfn/sfn_instr_mem.cpp', 87 'sfn/sfn_instr_mem.h', 88 'sfn/sfn_instr_lds.cpp', 89 'sfn/sfn_instr_lds.h', 90 'sfn/sfn_instr_tex.cpp', 91 'sfn/sfn_instr_tex.h', 92 'sfn/sfn_instrfactory.cpp', 93 'sfn/sfn_instrfactory.h', 94 'sfn/sfn_liverangeevaluator.cpp', 95 'sfn/sfn_liverangeevaluator.h', 96 'sfn/sfn_liverangeevaluator_helpers.cpp', 97 'sfn/sfn_liverangeevaluator_helpers.h', 98 'sfn/sfn_memorypool.cpp', 99 'sfn/sfn_memorypool.h', 100 'sfn/sfn_nir.cpp', 101 'sfn/sfn_nir.h', 102 'sfn/sfn_nir_legalize_image_load_store.cpp', 103 'sfn/sfn_nir_lower_64bit.cpp', 104 'sfn/sfn_nir_lower_alu.cpp', 105 'sfn/sfn_nir_lower_alu.h', 106 'sfn/sfn_nir_lower_tex.cpp', 107 'sfn/sfn_nir_lower_tex.h', 108 'sfn/sfn_nir_lower_fs_out_to_vector.cpp', 109 'sfn/sfn_nir_lower_fs_out_to_vector.h', 110 'sfn/sfn_nir_lower_tess_io.cpp', 111 'sfn/sfn_nir_vectorize_vs_inputs.c', 112 'sfn/sfn_optimizer.cpp', 113 'sfn/sfn_peephole.cpp', 114 'sfn/sfn_ra.cpp', 115 'sfn/sfn_ra.h', 116 'sfn/sfn_scheduler.cpp', 117 'sfn/sfn_scheduler.h', 118 'sfn/sfn_shader.cpp', 119 'sfn/sfn_shader.h', 120 'sfn/sfn_shader_cs.cpp', 121 'sfn/sfn_shader_cs.h', 122 'sfn/sfn_shader_fs.cpp', 123 'sfn/sfn_shader_fs.h', 124 'sfn/sfn_shader_gs.cpp', 125 'sfn/sfn_shader_gs.h', 126 'sfn/sfn_shader_tess.cpp', 127 'sfn/sfn_shader_tess.h', 128 'sfn/sfn_shader_vs.cpp', 129 'sfn/sfn_shader_vs.h', 130 'sfn/sfn_split_address_loads.cpp', 131 'sfn/sfn_split_address_loads.h', 132 'sfn/sfn_valuefactory.cpp', 133 'sfn/sfn_valuefactory.h', 134 'sfn/sfn_virtualvalues.cpp', 135 'sfn/sfn_virtualvalues.h', 136 ) 137 138egd_tables_h = custom_target( 139 'egd_tables.h', 140 input : ['egd_tables.py', 'evergreend.h'], 141 output : 'egd_tables.h', 142 command : [prog_python, '@INPUT@'], 143 capture : true, 144) 145 146r600_c_args = [] 147if with_gallium_clover 148 if dep_elf.found() 149 r600_c_args += '-DHAVE_OPENCL' 150 else 151 warning('r600 requires libelf to support opencl.') 152 endif 153endif 154 155r600_cpp_args = [] 156if cpp.has_type('std::pmr::monotonic_buffer_resource', 157 prefix : '#include <memory_resource>') 158 r600_cpp_args += '-DHAVE_MEMORY_RESOURCE' 159endif 160 161libr600 = static_library( 162 'r600', 163 [files_r600, egd_tables_h, sha1_h], 164 c_args : [r600_c_args, '-Wstrict-overflow=0'], 165 cpp_args: r600_cpp_args, 166 gnu_symbol_visibility : 'hidden', 167 include_directories : [ 168 inc_src, inc_mapi, inc_mesa, inc_include, inc_gallium, inc_gallium_aux, inc_amd_common, 169 inc_gallium_drivers, 170 ], 171 dependencies: [dep_libdrm_radeon, dep_elf, dep_llvm, idep_nir, idep_nir_headers, idep_mesautil], 172) 173 174driver_r600 = declare_dependency( 175 compile_args : '-DGALLIUM_R600', 176 link_with : [libr600, libmesa, libradeonwinsys], 177) 178 179if with_tests 180 subdir('sfn/tests') 181endif 182 183 184