From 2289964f4f2aede298317d89bc96d9e2aa3ff766 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ville=20Syrj=C3=A4l=C3=A4?= Date: Tue, 10 Oct 2017 01:15:42 +0300 Subject: [PATCH] meson: Build i915 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Build i915 with meson. More or less copied from i965, with all the unneeded cruft removed, and the libdrm_intel dependency added. Cc: Dylan Baker Cc: Eric Anholt Signed-off-by: Ville Syrjälä Reviewed-by: Eric Anholt Reviewed-by: Dylan Baker --- meson.build | 7 ++ meson_options.txt | 2 +- src/mesa/drivers/dri/i915/meson.build | 97 +++++++++++++++++++++++++++ src/mesa/drivers/dri/meson.build | 3 + 4 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 src/mesa/drivers/dri/i915/meson.build diff --git a/meson.build b/meson.build index 4ba00283cec..02264aeed4e 100644 --- a/meson.build +++ b/meson.build @@ -72,16 +72,23 @@ if (with_gles1 or with_gles2) and not with_opengl endif with_dri = false +with_dri_i915 = false with_dri_i965 = false with_dri_swrast = false _drivers = get_option('dri-drivers') if _drivers != '' _split = _drivers.split(',') + with_dri_i915 = _split.contains('i915') with_dri_i965 = _split.contains('i965') with_dri_swrast = _split.contains('swrast') with_dri = true endif +dep_libdrm_intel = [] +if with_dri_i915 + dep_libdrm_intel = dependency('libdrm_intel', version : '>= 2.4.75') +endif + if not with_dri with_gles1 = false with_gles2 = false diff --git a/meson_options.txt b/meson_options.txt index 029626d69a4..abd5135742a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -22,7 +22,7 @@ option('platforms', type : 'string', value : 'x11,wayland', description : 'comma separated list of window systems to support. wayland, x11, surfaceless, drm, etc.') option('dri3', type : 'combo', value : 'auto', choices : ['auto', 'yes', 'no'], description : 'enable support for dri3') -option('dri-drivers', type : 'string', value : 'swrast,i965', +option('dri-drivers', type : 'string', value : 'swrast,i915,i965', description : 'comma separated list of dri drivers to build.') option('dri-drivers-path', type : 'string', value : '', description : 'Location of dri drivers. Default: $libdir/dri.') diff --git a/src/mesa/drivers/dri/i915/meson.build b/src/mesa/drivers/dri/i915/meson.build new file mode 100644 index 00000000000..1971419a6b7 --- /dev/null +++ b/src/mesa/drivers/dri/i915/meson.build @@ -0,0 +1,97 @@ +# 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_i915 = files( + 'i830_context.c', + 'i830_context.h', + 'i830_reg.h', + 'i830_state.c', + 'i830_texblend.c', + 'i830_texstate.c', + 'i830_vtbl.c', + 'i915_context.c', + 'i915_context.h', + 'i915_debug_fp.c', + 'i915_debug.h', + 'i915_fragprog.c', + 'i915_program.c', + 'i915_program.h', + 'i915_reg.h', + 'i915_state.c', + 'i915_tex_layout.c', + 'i915_texstate.c', + 'i915_vtbl.c', + 'intel_batchbuffer.c', + 'intel_batchbuffer.h', + 'intel_blit.c', + 'intel_blit.h', + 'intel_buffer_objects.c', + 'intel_buffer_objects.h', + 'intel_buffers.c', + 'intel_buffers.h', + 'intel_chipset.h', + 'intel_clear.c', + 'intel_clear.h', + 'intel_context.c', + 'intel_context.h', + 'intel_extensions.c', + 'intel_extensions.h', + 'intel_fbo.c', + 'intel_fbo.h', + 'intel_mipmap_tree.c', + 'intel_mipmap_tree.h', + 'intel_pixel_bitmap.c', + 'intel_pixel.c', + 'intel_pixel_copy.c', + 'intel_pixel_draw.c', + 'intel_pixel.h', + 'intel_pixel_read.c', + 'intel_reg.h', + 'intel_regions.c', + 'intel_regions.h', + 'intel_render.c', + 'intel_screen.c', + 'intel_screen.h', + 'intel_state.c', + 'intel_syncobj.c', + 'intel_tex.c', + 'intel_tex_copy.c', + 'intel_tex.h', + 'intel_tex_image.c', + 'intel_tex_layout.c', + 'intel_tex_layout.h', + 'intel_tex_obj.h', + 'intel_tex_subimage.c', + 'intel_tex_validate.c', + 'intel_tris.c', + 'intel_tris.h', +) + +libi915 = static_library( + 'i915', + [files_i915, xmlpool_options_h], + include_directories : [inc_common, inc_dri_common, inc_util], + c_args : [c_vis_args, no_override_init_args], + cpp_args : [cpp_vis_args], + dependencies : [dep_libdrm, dep_libdrm_intel], +) + +dri_drivers += libi915 +dri_link += 'i915_dri.so' diff --git a/src/mesa/drivers/dri/meson.build b/src/mesa/drivers/dri/meson.build index cc2272eff6d..63cfcce8399 100644 --- a/src/mesa/drivers/dri/meson.build +++ b/src/mesa/drivers/dri/meson.build @@ -25,6 +25,9 @@ dri_link = [] if with_dri_swrast subdir('swrast') endif +if with_dri_i915 + subdir('i915') +endif if with_dri_i965 subdir('i965') endif -- 2.30.2