From de24d61765011ed4bfc169b8ad8cf67e86b1f3bd Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Tue, 10 Oct 2017 14:27:19 -0700 Subject: meson: build softpipe This doesn't include llvmpipe. v2: - Fix inconsistent use of with_gallium_swrast and with_gallium_softpipe. Signed-off-by: Dylan Baker Reviewed-by: Eric Anholt --- src/gallium/drivers/softpipe/meson.build | 85 ++++++++++++++++++++++++++++++++ src/gallium/meson.build | 2 +- src/gallium/targets/dri/meson.build | 8 +++ 3 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 src/gallium/drivers/softpipe/meson.build (limited to 'src/gallium') diff --git a/src/gallium/drivers/softpipe/meson.build b/src/gallium/drivers/softpipe/meson.build new file mode 100644 index 00000000000..0cef15152e2 --- /dev/null +++ b/src/gallium/drivers/softpipe/meson.build @@ -0,0 +1,85 @@ +# Copyright © 2017 Intel Corporation + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +files_softpipe = files( + 'sp_buffer.c', + 'sp_buffer.h', + 'sp_clear.c', + 'sp_clear.h', + 'sp_context.c', + 'sp_context.h', + 'sp_compute.c', + 'sp_draw_arrays.c', + 'sp_fence.c', + 'sp_fence.h', + 'sp_flush.c', + 'sp_flush.h', + 'sp_fs_exec.c', + 'sp_fs.h', + 'sp_image.c', + 'sp_image.h', + 'sp_limits.h', + 'sp_prim_vbuf.c', + 'sp_prim_vbuf.h', + 'sp_public.h', + 'sp_quad_blend.c', + 'sp_quad_depth_test.c', + 'sp_quad_depth_test_tmp.h', + 'sp_quad_fs.c', + 'sp_quad.h', + 'sp_quad_pipe.c', + 'sp_quad_pipe.h', + 'sp_quad_stipple.c', + 'sp_query.c', + 'sp_query.h', + 'sp_screen.c', + 'sp_screen.h', + 'sp_setup.c', + 'sp_setup.h', + 'sp_state_blend.c', + 'sp_state_clip.c', + 'sp_state_derived.c', + 'sp_state_image.c', + 'sp_state.h', + 'sp_state_rasterizer.c', + 'sp_state_sampler.c', + 'sp_state_shader.c', + 'sp_state_so.c', + 'sp_state_surface.c', + 'sp_state_vertex.c', + 'sp_surface.c', + 'sp_surface.h', + 'sp_tex_sample.c', + 'sp_tex_sample.h', + 'sp_tex_tile_cache.c', + 'sp_tex_tile_cache.h', + 'sp_texture.c', + 'sp_texture.h', + 'sp_tile_cache.c', + 'sp_tile_cache.h', +) + +libsoftpipe = static_library( + 'softpipe', + files_softpipe, + include_directories : [inc_gallium_aux, inc_gallium, inc_include, inc_src], + c_args : [c_vis_args, c_msvc_compat_args], + build_by_default : false, +) diff --git a/src/gallium/meson.build b/src/gallium/meson.build index 42c05824991..ea7f1d2ef64 100644 --- a/src/gallium/meson.build +++ b/src/gallium/meson.build @@ -31,6 +31,7 @@ subdir('drivers/rbug') subdir('drivers/radeon') subdir('drivers/radeonsi') subdir('drivers/nouveau') +subdir('drivers/softpipe') subdir('winsys/sw/null') subdir('winsys/sw/dri') subdir('winsys/sw/kms-dri') @@ -47,7 +48,6 @@ subdir('state_trackers/dri') # TODO: etnaviv # TODO: IMX # TODO: PL111 -# TODO: softpipe # TODO: llvmpipe # TODO: SWR # TODO: vc4 diff --git a/src/gallium/targets/dri/meson.build b/src/gallium/targets/dri/meson.build index 771a38d3214..2601f151f0e 100644 --- a/src/gallium/targets/dri/meson.build +++ b/src/gallium/targets/dri/meson.build @@ -64,6 +64,14 @@ if with_gallium_nouveau gallium_dri_link_with += [libnouveauwinsys, libnouveau] gallium_dri_drivers += 'nouveau_dri.so' endif +if with_gallium_softpipe + gallium_dri_c_args += '-DGALLIUM_SOFTPIPE' + gallium_dri_link_with += libsoftpipe + gallium_dri_drivers += 'swrast_dri.so' + if with_gallium_drisw_kms + gallium_dri_drivers += 'kms_swrast_dri.so' + endif +endif libgallium_dri = shared_library( 'gallium_dri', -- cgit v1.2.3