1# Copyright © 2017 Intel Corporation 2# SPDX-License-Identifier: MIT 3 4files_llvmpipe = files( 5 'lp_bld_alpha.c', 6 'lp_bld_alpha.h', 7 'lp_bld_blend_aos.c', 8 'lp_bld_blend.c', 9 'lp_bld_blend.h', 10 'lp_bld_blend_logicop.c', 11 'lp_bld_depth.c', 12 'lp_bld_depth.h', 13 'lp_bld_interp.c', 14 'lp_bld_interp.h', 15 'lp_clear.c', 16 'lp_clear.h', 17 'lp_context.c', 18 'lp_context.h', 19 'lp_cs_tpool.h', 20 'lp_cs_tpool.c', 21 'lp_debug.h', 22 'lp_draw_arrays.c', 23 'lp_fence.c', 24 'lp_fence.h', 25 'lp_flush.c', 26 'lp_flush.h', 27 'lp_jit.c', 28 'lp_jit.h', 29 'lp_limits.h', 30 'lp_linear.c', 31 'lp_linear_fastpath.c', 32 'lp_linear_interp.c', 33 'lp_linear_sampler.c', 34 'lp_linear_sampler_tmp.h', 35 'lp_memory.c', 36 'lp_memory.h', 37 'lp_perf.c', 38 'lp_perf.h', 39 'lp_public.h', 40 'lp_query.c', 41 'lp_query.h', 42 'lp_rast.c', 43 'lp_rast_debug.c', 44 'lp_rast.h', 45 'lp_rast_linear.c', 46 'lp_rast_linear_fallback.c', 47 'lp_rast_priv.h', 48 'lp_rast_rect.c', 49 'lp_rast_tri.c', 50 'lp_rast_tri_tmp.h', 51 'lp_scene.c', 52 'lp_scene.h', 53 'lp_scene_queue.c', 54 'lp_scene_queue.h', 55 'lp_screen.c', 56 'lp_screen.h', 57 'lp_setup.c', 58 'lp_setup_analysis.c', 59 'lp_setup_context.h', 60 'lp_setup.h', 61 'lp_setup_line.c', 62 'lp_setup_point.c', 63 'lp_setup_rect.c', 64 'lp_setup_tri.c', 65 'lp_setup_vbuf.c', 66 'lp_state_blend.c', 67 'lp_state_clip.c', 68 'lp_state_derived.c', 69 'lp_state_cs.c', 70 'lp_state_cs.h', 71 'lp_state_fs.c', 72 'lp_state_fs.h', 73 'lp_state_fs_analysis.c', 74 'lp_state_fs_fastpath.c', 75 'lp_state_fs_linear.c', 76 'lp_state_fs_linear_llvm.c', 77 'lp_state_gs.c', 78 'lp_state.h', 79 'lp_state_rasterizer.c', 80 'lp_state_sampler.c', 81 'lp_state_setup.c', 82 'lp_state_setup.h', 83 'lp_state_so.c', 84 'lp_state_surface.c', 85 'lp_state_tess.c', 86 'lp_state_vertex.c', 87 'lp_state_vs.c', 88 'lp_surface.c', 89 'lp_surface.h', 90 'lp_tex_sample.c', 91 'lp_tex_sample.h', 92 'lp_texture.c', 93 'lp_texture.h', 94 'lp_texture_handle.c', 95 'lp_texture_handle.h', 96) 97 98libllvmpipe = static_library( 99 'llvmpipe', 100 [files_llvmpipe, sha1_h], 101 c_args : [c_msvc_compat_args], 102 cpp_args : [cpp_msvc_compat_args], 103 gnu_symbol_visibility : 'hidden', 104 include_directories : [inc_gallium, inc_gallium_aux, inc_include, inc_src], 105 dependencies : [ dep_llvm, idep_nir_headers, idep_mesautil, dep_libdrm], 106) 107 108driver_llvmpipe = declare_dependency( 109 compile_args : '-DGALLIUM_LLVMPIPE', 110 link_with : libllvmpipe, 111 dependencies : [dep_llvm, idep_mesautil], 112) 113 114if with_tests 115 foreach t : ['lp_test_format', 'lp_test_arit', 'lp_test_blend', 116 'lp_test_conv', 'lp_test_printf', 'lp_test_lookup_multiple'] 117 test( 118 t, 119 executable( 120 t, 121 ['@[email protected]'.format(t), 'lp_test_main.c', sha1_h], 122 dependencies : [dep_llvm, dep_dl, dep_clock, idep_mesautil], 123 include_directories : [inc_gallium, inc_gallium_aux, inc_include, inc_src], 124 link_with : [libllvmpipe, libgallium], 125 ), 126 suite : ['llvmpipe'], 127 should_fail : meson.get_external_property('xfail', '').contains(t), 128 timeout: 240, 129 ) 130 endforeach 131endif 132